From e3329ad09092be263636c24c4e2ca0d780536fb2 Mon Sep 17 00:00:00 2001 From: aviadh Date: Thu, 3 Nov 2016 18:29:17 +0200 Subject: [PATCH] trigger only one event for removeAll() --- src/gridstack.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/gridstack.js b/src/gridstack.js index 39d250a..919e3ad 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -1288,8 +1288,9 @@ return this.grid.canBePlacedWithRespectToHeight(node); }; - GridStack.prototype.removeWidget = function(el, detachNode) { + GridStack.prototype.removeWidget = function(el, detachNode, triggerEvents) { detachNode = typeof detachNode === 'undefined' ? true : detachNode; + triggerEvents = typeof detachNode === 'undefined' ? true : triggerEvents; el = $(el); var node = el.data('_gridstack_node'); @@ -1304,16 +1305,21 @@ if (detachNode) { el.remove(); } - this._triggerChangeEvent(true); - this._triggerRemoveEvent(); + if (triggerEvents) { + this._triggerChangeEvent(true); + this._triggerRemoveEvent(); + } }; GridStack.prototype.removeAll = function(detachNode) { _.each(this.grid.nodes, _.bind(function(node) { - this.removeWidget(node.el, detachNode); + this.removeWidget(node.el, detachNode, false); }, this)); this.grid.nodes = []; this._updateContainerHeight(); + + this._triggerChangeEvent(true); + this._triggerRemoveEvent(); }; GridStack.prototype.destroy = function(detachGrid) {