|
509 | 509 | $(window).resize(on_resize_handler);
|
510 | 510 | on_resize_handler();
|
511 | 511 | };
|
| 512 | + |
| 513 | + GridStack.prototype._trigger_change_event = function(forceTrigger) { |
| 514 | + var elements = this.grid.get_dirty_nodes(); |
| 515 | + var hasChanges = false; |
| 516 | + |
| 517 | + var eventParams = []; |
| 518 | + if (elements && elements.length) { |
| 519 | + eventParams.push(elements); |
| 520 | + hasChanges = true; |
| 521 | + } |
| 522 | + |
| 523 | + if (hasChanges || forceTrigger === true) { |
| 524 | + this.container.trigger('change', eventParams); |
| 525 | + } |
| 526 | + }; |
512 | 527 |
|
513 | 528 | GridStack.prototype._init_styles = function() {
|
514 | 529 | if (this._styles_id) {
|
|
638 | 653 | .attr('data-gs-height', node.height)
|
639 | 654 | .removeAttr('style');
|
640 | 655 | self._update_container_height();
|
641 |
| - var elements = self.grid.get_dirty_nodes(); |
642 |
| - if (elements && elements.length) |
643 |
| - self.container.trigger('change', [elements]); |
| 656 | + self._trigger_change_event(); |
644 | 657 |
|
645 | 658 | self.grid.end_update();
|
646 | 659 | };
|
|
704 | 717 | this.container.append(el);
|
705 | 718 | this._prepare_element(el);
|
706 | 719 | this._update_container_height();
|
| 720 | + this._trigger_change_event(true); |
707 | 721 |
|
708 | 722 | return el;
|
709 | 723 | };
|
|
722 | 736 | this._update_container_height();
|
723 | 737 | if (detach_node)
|
724 | 738 | el.remove();
|
| 739 | + this._trigger_change_event(true); |
725 | 740 | };
|
726 | 741 |
|
727 | 742 | GridStack.prototype.remove_all = function(detach_node) {
|
|
846 | 861 | callback.call(this, el, node);
|
847 | 862 |
|
848 | 863 | self._update_container_height();
|
849 |
| - var elements = self.grid.get_dirty_nodes(); |
850 |
| - if (elements && elements.length) |
851 |
| - self.container.trigger('change', [elements]); |
| 864 | + self._trigger_change_event(); |
852 | 865 |
|
853 | 866 | self.grid.end_update();
|
854 | 867 | };
|
|
0 commit comments