|
511 | 511 | $(window).resize(this.on_resize_handler);
|
512 | 512 | this.on_resize_handler();
|
513 | 513 | };
|
| 514 | + |
| 515 | + GridStack.prototype._trigger_change_event = function(forceTrigger) { |
| 516 | + var elements = this.grid.get_dirty_nodes(); |
| 517 | + var hasChanges = false; |
| 518 | + |
| 519 | + var eventParams = []; |
| 520 | + if (elements && elements.length) { |
| 521 | + eventParams.push(elements); |
| 522 | + hasChanges = true; |
| 523 | + } |
| 524 | + |
| 525 | + if (hasChanges || forceTrigger === true) { |
| 526 | + this.container.trigger('change', eventParams); |
| 527 | + } |
| 528 | + }; |
514 | 529 |
|
515 | 530 | GridStack.prototype._init_styles = function() {
|
516 | 531 | if (this._styles_id) {
|
|
640 | 655 | .attr('data-gs-height', node.height)
|
641 | 656 | .removeAttr('style');
|
642 | 657 | self._update_container_height();
|
643 |
| - var elements = self.grid.get_dirty_nodes(); |
644 |
| - if (elements && elements.length) |
645 |
| - self.container.trigger('change', [elements]); |
| 658 | + self._trigger_change_event(); |
646 | 659 |
|
647 | 660 | self.grid.end_update();
|
648 | 661 | };
|
|
706 | 719 | this.container.append(el);
|
707 | 720 | this._prepare_element(el);
|
708 | 721 | this._update_container_height();
|
| 722 | + this._trigger_change_event(true); |
709 | 723 |
|
710 | 724 | return el;
|
711 | 725 | };
|
|
724 | 738 | this._update_container_height();
|
725 | 739 | if (detach_node)
|
726 | 740 | el.remove();
|
| 741 | + this._trigger_change_event(true); |
727 | 742 | };
|
728 | 743 |
|
729 | 744 | GridStack.prototype.remove_all = function(detach_node) {
|
|
857 | 872 | callback.call(this, el, node);
|
858 | 873 |
|
859 | 874 | self._update_container_height();
|
860 |
| - var elements = self.grid.get_dirty_nodes(); |
861 |
| - if (elements && elements.length) |
862 |
| - self.container.trigger('change', [elements]); |
| 875 | + self._trigger_change_event(); |
863 | 876 |
|
864 | 877 | self.grid.end_update();
|
865 | 878 | };
|
|
0 commit comments