From 67274f873cfa701cb5d8353e83d042444d3c1f60 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Sat, 27 Feb 2016 18:46:41 -0800 Subject: [PATCH 01/15] trash zone is accepting only widgets --- src/gridstack.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gridstack.js b/src/gridstack.js index 6e61887..213ae87 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -671,7 +671,9 @@ if (typeof self.opts.removable === 'string') { var trashZone = $(self.opts.removable); if (!trashZone.data('droppable')) { - trashZone.droppable({}); + trashZone.droppable({ + accept: '.' + self.opts.itemClass + }); } trashZone .on('dropover', function(event, ui) { From e31d50eedc849ac0624501d4d25ebc5f8d65a7f0 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Sat, 27 Feb 2016 18:47:24 -0800 Subject: [PATCH 02/15] check if element setup before detach --- src/gridstack.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gridstack.js b/src/gridstack.js index 213ae87..cddc055 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -576,7 +576,9 @@ var maxHeight = 0; _.each(nodes, function(n) { if (n._id === null) { - n.el.remove(); + if (n.el) { + n.el.remove(); + } } else { n.el .attr('data-gs-x', n.x) From 08161636932102edf8618511813a4ba9c06fcbb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kremser?= Date: Sun, 28 Feb 2016 11:26:17 -0800 Subject: [PATCH 03/15] Allow negative numbers to be passed to parseHeight function --- src/gridstack.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gridstack.js b/src/gridstack.js index 6e61887..55742ae 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -99,7 +99,7 @@ var height = val; var heightUnit = 'px'; if (height && _.isString(height)) { - var match = height.match(/^([0-9]*\.[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/); + var match = height.match(/^((-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+)?|-?[0-9]+)(px|em|rem|vh|vw)?$/); if (!match) { throw new Error('Invalid height'); } From d20f6703c6ffb52cf23a0dcbcaa0c95f37671d6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kremser?= Date: Sun, 28 Feb 2016 15:55:45 -0800 Subject: [PATCH 04/15] Allow negative numbers to be passed to parseHeight function fix --- src/gridstack.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gridstack.js b/src/gridstack.js index 55742ae..f537d10 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -99,7 +99,7 @@ var height = val; var heightUnit = 'px'; if (height && _.isString(height)) { - var match = height.match(/^((-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+)?|-?[0-9]+)(px|em|rem|vh|vw)?$/); + var match = height.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/); if (!match) { throw new Error('Invalid height'); } From 446dade5d0ebe6e587793d2995be75a6b7236a9e Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Sun, 28 Feb 2016 22:08:05 -0800 Subject: [PATCH 05/15] drag from sidebar/between grids --- src/gridstack.js | 160 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 137 insertions(+), 23 deletions(-) diff --git a/src/gridstack.js b/src/gridstack.js index cddc055..cf825ad 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -695,6 +695,114 @@ self._clearRemovingTimeout(el); }); } + + if (self.opts.acceptWidgets) { + var draggingElement = null; + + var onDrag = function(event, ui) { + var el = draggingElement; + var node = el.data('_gridstack_node'); + var pos = self.getCellFromPixel(ui.offset, true); + var x = Math.max(0, pos.x); + var y = Math.max(0, pos.y); + if (!node._added) { + node._added = true; + + node.el = el; + node.x = x; + node.y = y; + self.grid.cleanNodes(); + self.grid.beginUpdate(node); + self.grid.addNode(node); + + self.container.append(self.placeholder); + self.placeholder + .attr('data-gs-x', node.x) + .attr('data-gs-y', node.y) + .attr('data-gs-width', node.width) + .attr('data-gs-height', node.height) + .show(); + node.el = self.placeholder; + node._beforeDragX = node.x; + node._beforeDragY = node.y; + + self._updateContainerHeight(); + } else { + if (!self.grid.canMoveNode(node, x, y)) { + return; + } + self.grid.moveNode(node, x, y); + self._updateContainerHeight(); + } + }; + + $(self.container).droppable({ + accept: function(el) { + el = $(el); + var node = el.data('_gridstack_node'); + if (node && node._grid === self) { + return false; + } + return el.is(self.opts.acceptWidgets === true ? '.grid-stack-item' : self.opts.acceptWidgets); + }, + over: function(event, ui) { + var offset = self.container.offset(); + var el = $(ui.draggable); + var cellWidth = self.cellWidth(); + var cellHeight = self.cellHeight(); + var origNode = el.data('_gridstack_node'); + + var width = origNode ? origNode.width : (Math.ceil(el.outerWidth() / cellWidth)); + var height = origNode ? origNode.height : (Math.ceil(el.outerHeight() / cellHeight)); + + draggingElement = el; + + var node = self.grid._prepareNode({width: width, height: height, _added: false, _temporary: true}); + el.data('_gridstack_node', node); + el.data('_gridstack_node_orig', origNode); + + el.on('drag', onDrag); + }, + out: function(event, ui) { + var el = $(ui.draggable); + el.unbind('drag', onDrag); + var node = el.data('_gridstack_node'); + node.el = null; + self.grid.removeNode(node); + self.placeholder.detach(); + self._updateContainerHeight(); + }, + drop: function(event, ui) { + self.placeholder.detach(); + + var node = $(ui.draggable).data('_gridstack_node'); + node._grid = self; + var el = $(ui.draggable).clone(false); + el.data('_gridstack_node', node); + $(ui.draggable).remove(); + node.el = el; + self.placeholder.hide(); + el + .attr('data-gs-x', node.x) + .attr('data-gs-y', node.y) + .attr('data-gs-width', node.width) + .attr('data-gs-height', node.height) + .addClass(self.opts.itemClass) + .removeAttr('style') + .enableSelection() + .removeData('draggable') + // .unbind('.draggable') + .removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled') + .unbind('drag', onDrag); + self.container.append(el); + self._prepareElementByNode(el, node); + self._updateContainerHeight(); + self._triggerChangeEvent(); + + self.grid.endUpdate(); + } + }); + } }; GridStack.prototype._triggerChangeEvent = function(forceTrigger) { @@ -856,30 +964,8 @@ node._isAboutToRemove = false; }; - GridStack.prototype._prepareElement = function(el, triggerAddEvent) { - triggerAddEvent = typeof triggerAddEvent != 'undefined' ? triggerAddEvent : false; + GridStack.prototype._prepareElementByNode = function(el, node) { var self = this; - el = $(el); - - el.addClass(this.opts.itemClass); - var node = self.grid.addNode({ - x: el.attr('data-gs-x'), - y: el.attr('data-gs-y'), - width: el.attr('data-gs-width'), - height: el.attr('data-gs-height'), - maxWidth: el.attr('data-gs-max-width'), - minWidth: el.attr('data-gs-min-width'), - maxHeight: el.attr('data-gs-max-height'), - minHeight: el.attr('data-gs-min-height'), - autoPosition: Utils.toBool(el.attr('data-gs-auto-position')), - noResize: Utils.toBool(el.attr('data-gs-no-resize')), - noMove: Utils.toBool(el.attr('data-gs-no-move')), - locked: Utils.toBool(el.attr('data-gs-locked')), - el: el, - id: el.attr('data-gs-id'), - _grid: self - }, triggerAddEvent); - el.data('_gridstack_node', node); var cellWidth; var cellHeight; @@ -1035,6 +1121,34 @@ el.attr('data-gs-locked', node.locked ? 'yes' : null); }; + GridStack.prototype._prepareElement = function(el, triggerAddEvent) { + triggerAddEvent = typeof triggerAddEvent != 'undefined' ? triggerAddEvent : false; + var self = this; + el = $(el); + + el.addClass(this.opts.itemClass); + var node = self.grid.addNode({ + x: el.attr('data-gs-x'), + y: el.attr('data-gs-y'), + width: el.attr('data-gs-width'), + height: el.attr('data-gs-height'), + maxWidth: el.attr('data-gs-max-width'), + minWidth: el.attr('data-gs-min-width'), + maxHeight: el.attr('data-gs-max-height'), + minHeight: el.attr('data-gs-min-height'), + autoPosition: Utils.toBool(el.attr('data-gs-auto-position')), + noResize: Utils.toBool(el.attr('data-gs-no-resize')), + noMove: Utils.toBool(el.attr('data-gs-no-move')), + locked: Utils.toBool(el.attr('data-gs-locked')), + el: el, + id: el.attr('data-gs-id'), + _grid: self + }, triggerAddEvent); + el.data('_gridstack_node', node); + + this._prepareElementByNode(el, node); + }; + GridStack.prototype.setAnimation = function(enable) { if (enable) { this.container.addClass('grid-stack-animate'); From 3d8a8e1e42ce98a09d86c9a1f190f429eb8a4bc1 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Sun, 28 Feb 2016 22:08:33 -0800 Subject: [PATCH 06/15] drag between grids demo --- demo/two.html | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/demo/two.html b/demo/two.html index 61b85c1..25fd5a6 100644 --- a/demo/two.html +++ b/demo/two.html @@ -48,13 +48,45 @@ margin-bottom: 20px; background: rgba(255, 0, 0, 0.1) center center url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjY0cHgiIGhlaWdodD0iNjRweCIgdmlld0JveD0iMCAwIDQzOC41MjkgNDM4LjUyOSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDM4LjUyOSA0MzguNTI5OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTQxNy42ODksNzUuNjU0Yy0xLjcxMS0xLjcwOS0zLjkwMS0yLjU2OC02LjU2My0yLjU2OGgtODguMjI0TDMwMi45MTcsMjUuNDFjLTIuODU0LTcuMDQ0LTcuOTk0LTEzLjA0LTE1LjQxMy0xNy45ODkgICAgQzI4MC4wNzgsMi40NzMsMjcyLjU1NiwwLDI2NC45NDUsMGgtOTEuMzYzYy03LjYxMSwwLTE1LjEzMSwyLjQ3My0yMi41NTQsNy40MjFjLTcuNDI0LDQuOTQ5LTEyLjU2MywxMC45NDQtMTUuNDE5LDE3Ljk4OSAgICBsLTE5Ljk4NSw0Ny42NzZoLTg4LjIyYy0yLjY2NywwLTQuODUzLDAuODU5LTYuNTY3LDIuNTY4Yy0xLjcwOSwxLjcxMy0yLjU2OCwzLjkwMy0yLjU2OCw2LjU2N3YxOC4yNzQgICAgYzAsMi42NjQsMC44NTUsNC44NTQsMi41NjgsNi41NjRjMS43MTQsMS43MTIsMy45MDQsMi41NjgsNi41NjcsMi41NjhoMjcuNDA2djI3MS44YzAsMTUuODAzLDQuNDczLDI5LjI2NiwxMy40MTgsNDAuMzk4ICAgIGM4Ljk0NywxMS4xMzksMTkuNzAxLDE2LjcwMywzMi4yNjQsMTYuNzAzaDIzNy41NDJjMTIuNTY2LDAsMjMuMzE5LTUuNzU2LDMyLjI2NS0xNy4yNjhjOC45NDUtMTEuNTIsMTMuNDE1LTI1LjE3NCwxMy40MTUtNDAuOTcxICAgIFYxMDkuNjI3aDI3LjQxMWMyLjY2MiwwLDQuODUzLTAuODU2LDYuNTYzLTIuNTY4YzEuNzA4LTEuNzA5LDIuNTctMy45LDIuNTctNi41NjRWODIuMjIxICAgIEM0MjAuMjYsNzkuNTU3LDQxOS4zOTcsNzcuMzY3LDQxNy42ODksNzUuNjU0eiBNMTY5LjMwMSwzOS42NzhjMS4zMzEtMS43MTIsMi45NS0yLjc2Miw0Ljg1My0zLjE0aDkwLjUwNCAgICBjMS45MDMsMC4zODEsMy41MjUsMS40Myw0Ljg1NCwzLjE0bDEzLjcwOSwzMy40MDRIMTU1LjMxMUwxNjkuMzAxLDM5LjY3OHogTTM0Ny4xNzMsMzgwLjI5MWMwLDQuMTg2LTAuNjY0LDguMDQyLTEuOTk5LDExLjU2MSAgICBjLTEuMzM0LDMuNTE4LTIuNzE3LDYuMDg4LTQuMTQxLDcuNzA2Yy0xLjQzMSwxLjYyMi0yLjQyMywyLjQyNy0yLjk5OCwyLjQyN0gxMDAuNDkzYy0wLjU3MSwwLTEuNTY1LTAuODA1LTIuOTk2LTIuNDI3ICAgIGMtMS40MjktMS42MTgtMi44MS00LjE4OC00LjE0My03LjcwNmMtMS4zMzEtMy41MTktMS45OTctNy4zNzktMS45OTctMTEuNTYxVjEwOS42MjdoMjU1LjgxNVYzODAuMjkxeiIgZmlsbD0iI2ZmOWNhZSIvPgoJCTxwYXRoIGQ9Ik0xMzcuMDQsMzQ3LjE3MmgxOC4yNzFjMi42NjcsMCw0Ljg1OC0wLjg1NSw2LjU2Ny0yLjU2N2MxLjcwOS0xLjcxOCwyLjU2OC0zLjkwMSwyLjU2OC02LjU3VjE3My41ODEgICAgYzAtMi42NjMtMC44NTktNC44NTMtMi41NjgtNi41NjdjLTEuNzE0LTEuNzA5LTMuODk5LTIuNTY1LTYuNTY3LTIuNTY1SDEzNy4wNGMtMi42NjcsMC00Ljg1NCwwLjg1NS02LjU2NywyLjU2NSAgICBjLTEuNzExLDEuNzE0LTIuNTY4LDMuOTA0LTIuNTY4LDYuNTY3djE2NC40NTRjMCwyLjY2OSwwLjg1NCw0Ljg1MywyLjU2OCw2LjU3QzEzMi4xODYsMzQ2LjMxNiwxMzQuMzczLDM0Ny4xNzIsMTM3LjA0LDM0Ny4xNzJ6IiBmaWxsPSIjZmY5Y2FlIi8+CgkJPHBhdGggZD0iTTIxMC4xMjksMzQ3LjE3MmgxOC4yNzFjMi42NjYsMCw0Ljg1Ni0wLjg1NSw2LjU2NC0yLjU2N2MxLjcxOC0xLjcxOCwyLjU2OS0zLjkwMSwyLjU2OS02LjU3VjE3My41ODEgICAgYzAtMi42NjMtMC44NTItNC44NTMtMi41NjktNi41NjdjLTEuNzA4LTEuNzA5LTMuODk4LTIuNTY1LTYuNTY0LTIuNTY1aC0xOC4yNzFjLTIuNjY0LDAtNC44NTQsMC44NTUtNi41NjcsMi41NjUgICAgYy0xLjcxNCwxLjcxNC0yLjU2OCwzLjkwNC0yLjU2OCw2LjU2N3YxNjQuNDU0YzAsMi42NjksMC44NTQsNC44NTMsMi41NjgsNi41N0MyMDUuMjc0LDM0Ni4zMTYsMjA3LjQ2NSwzNDcuMTcyLDIxMC4xMjksMzQ3LjE3MnogICAgIiBmaWxsPSIjZmY5Y2FlIi8+CgkJPHBhdGggZD0iTTI4My4yMiwzNDcuMTcyaDE4LjI2OGMyLjY2OSwwLDQuODU5LTAuODU1LDYuNTctMi41NjdjMS43MTEtMS43MTgsMi41NjItMy45MDEsMi41NjItNi41N1YxNzMuNTgxICAgIGMwLTIuNjYzLTAuODUyLTQuODUzLTIuNTYyLTYuNTY3Yy0xLjcxMS0xLjcwOS0zLjkwMS0yLjU2NS02LjU3LTIuNTY1SDI4My4yMmMtMi42NywwLTQuODUzLDAuODU1LTYuNTcxLDIuNTY1ICAgIGMtMS43MTEsMS43MTQtMi41NjYsMy45MDQtMi41NjYsNi41Njd2MTY0LjQ1NGMwLDIuNjY5LDAuODU1LDQuODUzLDIuNTY2LDYuNTdDMjc4LjM2NywzNDYuMzE2LDI4MC41NSwzNDcuMTcyLDI4My4yMiwzNDcuMTcyeiIgZmlsbD0iI2ZmOWNhZSIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=) no-repeat; } + + .sidebar { + background: rgba(0, 255, 0, 0.1); + height: 150px; + padding: 25px 0; + text-align: center; + } + + .sidebar .grid-stack-item { + width: 200px; + height: 100px; + border: 2px dashed green; + text-align: center; + line-height: 100px; + z-index: 10; + background: rgba(0, 255, 0, 0.1); + cursor: default; + display: inline-block; + } + + .sidebar .grid-stack-item .grid-stack-item-content { + background: none; + }

Two grids demo

-
+
+
+ +
+
+
+
+
@@ -74,12 +106,15 @@ $(function () { var options = { width: 6, - float: true, + float: false, removable: '.trash', - removeTimeout: 100 + removeTimeout: 100, + acceptWidgets: '.grid-stack-item' }; $('#grid1').gridstack(options); - $('#grid2').gridstack(options); + $('#grid2').gridstack(_.defaults({ + float: true + }, options)); var items = [ {x: 0, y: 0, width: 2, height: 2}, @@ -97,6 +132,13 @@ node.x, node.y, node.width, node.height); }, this); }); + + $('.sidebar .grid-stack-item').draggable({ + revert: 'invalid', + handle: '.grid-stack-item-content', + scroll: false, + appendTo: 'body' + }); }); From c309856f8de2a53848d14a77803efe398fa2911c Mon Sep 17 00:00:00 2001 From: pmoradei Date: Mon, 29 Feb 2016 19:52:46 +0100 Subject: [PATCH 07/15] Add a parameter to setGridWidth method to allow not to propagate resizing to widgets. --- src/gridstack.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gridstack.js b/src/gridstack.js index 6e61887..1bdf08d 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -1417,10 +1417,13 @@ this.grid.commit(); }; - GridStack.prototype.setGridWidth = function(gridWidth) { + GridStack.prototype.setGridWidth = function(gridWidth,doNotPropagate) { this.container.removeClass('grid-stack-' + this.opts.width); - this._updateNodeWidths(this.opts.width, gridWidth); + if (doNotPropagate !== true) { + this._updateNodeWidths(this.opts.width, gridWidth); + } this.opts.width = gridWidth; + this.grid.width = gridWidth; this.container.addClass('grid-stack-' + gridWidth); }; From 50ce614128acaf22459d741d083093a7694331f4 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Mon, 29 Feb 2016 22:05:28 -0800 Subject: [PATCH 08/15] jqueryui + requirejs note --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 64a00d1..6714e36 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Join gridstack.js on Slack: https://gridstackjs.troolee.com - [Load grid from array](#load-grid-from-array) - [Override resizable/draggable options](#override-resizabledraggable-options) - [IE8 support](#ie8-support) + - [Use with require.js](#use-with-requirejs) - [Nested grids](#nested-grids) - [Resizing active grid](#resizing-active-grid) - [Using AniJS](#using-anijs) @@ -428,6 +429,12 @@ for i in range(N): There are at least two more issues with gridstack in IE8 with jQueryUI resizable (it seems it doesn't work) and droppable. If you have any suggestions about support of IE8 you are welcome here: https://github.com/troolee/gridstack.js/issues/76 +## Use with require.js + +If you're using require.js and a single file jQueryUI please check out this +[Stackoverflow question](http://stackoverflow.com/questions/35582945/redundant-dependencies-with-requirejs) to get it +working properly. + ## Nested grids From ea442d19363b6d6f82d8a39b5b9a83cad7d941d4 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Mon, 29 Feb 2016 23:10:23 -0800 Subject: [PATCH 09/15] drag between grids --- README.md | 3 +- dist/gridstack.js | 175 ++++++++++++++++++++++++++++++++++------- dist/gridstack.min.js | 4 +- dist/gridstack.min.map | 2 +- doc/README.md | 2 + src/gridstack.js | 9 ++- 6 files changed, 161 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 6714e36..6fef781 100644 --- a/README.md +++ b/README.md @@ -479,11 +479,12 @@ Changes - fix `setStatic` method - add `setAnimation` method to API - add `setGridWidth` method ([#227](https://github.com/troolee/gridstack.js/issues/227)) -- add `removable`/`removeTimeout` +- add `removable`/`removeTimeout` *(experimental)* - add `detachGrid` parameter to `destroy` method ([#216](https://github.com/troolee/gridstack.js/issues/216)) (thanks @jhpedemonte) - add `useOffset` parameter to `getCellFromPixel` method ([#237](https://github.com/troolee/gridstack.js/issues/237)) - add `minWidth`, `maxWidth`, `minHeight`, `maxHeight`, `id` parameters to `addWidget` ([#188](https://github.com/troolee/gridstack.js/issues/188)) - add `added` and `removed` events for when a widget is added or removed, respectively. ([#54](https://github.com/troolee/gridstack.js/issues/54)) +- add `acceptWidgets` parameter. Widgets can now be draggable between grids or from outside *(experimental)* #### v0.2.4 (2016-02-15) diff --git a/dist/gridstack.js b/dist/gridstack.js index 6e61887..5db6e4e 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -576,7 +576,9 @@ var maxHeight = 0; _.each(nodes, function(n) { if (n._id === null) { - n.el.remove(); + if (n.el) { + n.el.remove(); + } } else { n.el .attr('data-gs-x', n.x) @@ -671,7 +673,9 @@ if (typeof self.opts.removable === 'string') { var trashZone = $(self.opts.removable); if (!trashZone.data('droppable')) { - trashZone.droppable({}); + trashZone.droppable({ + accept: '.' + self.opts.itemClass + }); } trashZone .on('dropover', function(event, ui) { @@ -691,6 +695,114 @@ self._clearRemovingTimeout(el); }); } + + if (self.opts.acceptWidgets) { + var draggingElement = null; + + var onDrag = function(event, ui) { + var el = draggingElement; + var node = el.data('_gridstack_node'); + var pos = self.getCellFromPixel(ui.offset, true); + var x = Math.max(0, pos.x); + var y = Math.max(0, pos.y); + if (!node._added) { + node._added = true; + + node.el = el; + node.x = x; + node.y = y; + self.grid.cleanNodes(); + self.grid.beginUpdate(node); + self.grid.addNode(node); + + self.container.append(self.placeholder); + self.placeholder + .attr('data-gs-x', node.x) + .attr('data-gs-y', node.y) + .attr('data-gs-width', node.width) + .attr('data-gs-height', node.height) + .show(); + node.el = self.placeholder; + node._beforeDragX = node.x; + node._beforeDragY = node.y; + + self._updateContainerHeight(); + } else { + if (!self.grid.canMoveNode(node, x, y)) { + return; + } + self.grid.moveNode(node, x, y); + self._updateContainerHeight(); + } + }; + + $(self.container).droppable({ + accept: function(el) { + el = $(el); + var node = el.data('_gridstack_node'); + if (node && node._grid === self) { + return false; + } + return el.is(self.opts.acceptWidgets === true ? '.grid-stack-item' : self.opts.acceptWidgets); + }, + over: function(event, ui) { + var offset = self.container.offset(); + var el = $(ui.draggable); + var cellWidth = self.cellWidth(); + var cellHeight = self.cellHeight(); + var origNode = el.data('_gridstack_node'); + + var width = origNode ? origNode.width : (Math.ceil(el.outerWidth() / cellWidth)); + var height = origNode ? origNode.height : (Math.ceil(el.outerHeight() / cellHeight)); + + draggingElement = el; + + var node = self.grid._prepareNode({width: width, height: height, _added: false, _temporary: true}); + el.data('_gridstack_node', node); + el.data('_gridstack_node_orig', origNode); + + el.on('drag', onDrag); + }, + out: function(event, ui) { + var el = $(ui.draggable); + el.unbind('drag', onDrag); + var node = el.data('_gridstack_node'); + node.el = null; + self.grid.removeNode(node); + self.placeholder.detach(); + self._updateContainerHeight(); + el.data('_gridstack_node', el.data('_gridstack_node_orig')); + }, + drop: function(event, ui) { + self.placeholder.detach(); + + var node = $(ui.draggable).data('_gridstack_node'); + node._grid = self; + var el = $(ui.draggable).clone(false); + el.data('_gridstack_node', node); + $(ui.draggable).remove(); + node.el = el; + self.placeholder.hide(); + el + .attr('data-gs-x', node.x) + .attr('data-gs-y', node.y) + .attr('data-gs-width', node.width) + .attr('data-gs-height', node.height) + .addClass(self.opts.itemClass) + .removeAttr('style') + .enableSelection() + .removeData('draggable') + .removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled') + .unbind('drag', onDrag); + self.container.append(el); + self._prepareElementByNode(el, node); + self._updateContainerHeight(); + self._triggerChangeEvent(); + + self.grid.endUpdate(); + } + }); + } }; GridStack.prototype._triggerChangeEvent = function(forceTrigger) { @@ -840,7 +952,6 @@ }; GridStack.prototype._clearRemovingTimeout = function(el) { - var self = this; var node = $(el).data('_gridstack_node'); if (!node._removeTimeout) { @@ -852,30 +963,8 @@ node._isAboutToRemove = false; }; - GridStack.prototype._prepareElement = function(el, triggerAddEvent) { - triggerAddEvent = typeof triggerAddEvent != 'undefined' ? triggerAddEvent : false; + GridStack.prototype._prepareElementByNode = function(el, node) { var self = this; - el = $(el); - - el.addClass(this.opts.itemClass); - var node = self.grid.addNode({ - x: el.attr('data-gs-x'), - y: el.attr('data-gs-y'), - width: el.attr('data-gs-width'), - height: el.attr('data-gs-height'), - maxWidth: el.attr('data-gs-max-width'), - minWidth: el.attr('data-gs-min-width'), - maxHeight: el.attr('data-gs-max-height'), - minHeight: el.attr('data-gs-min-height'), - autoPosition: Utils.toBool(el.attr('data-gs-auto-position')), - noResize: Utils.toBool(el.attr('data-gs-no-resize')), - noMove: Utils.toBool(el.attr('data-gs-no-move')), - locked: Utils.toBool(el.attr('data-gs-locked')), - el: el, - id: el.attr('data-gs-id'), - _grid: self - }, triggerAddEvent); - el.data('_gridstack_node', node); var cellWidth; var cellHeight; @@ -962,9 +1051,13 @@ }; var onEndMoving = function(event, ui) { + var o = $(this); + if (!o.data('_gridstack_node')) { + return; + } + var forceNotify = false; self.placeholder.detach(); - var o = $(this); node.el = o; self.placeholder.hide(); @@ -1031,6 +1124,34 @@ el.attr('data-gs-locked', node.locked ? 'yes' : null); }; + GridStack.prototype._prepareElement = function(el, triggerAddEvent) { + triggerAddEvent = typeof triggerAddEvent != 'undefined' ? triggerAddEvent : false; + var self = this; + el = $(el); + + el.addClass(this.opts.itemClass); + var node = self.grid.addNode({ + x: el.attr('data-gs-x'), + y: el.attr('data-gs-y'), + width: el.attr('data-gs-width'), + height: el.attr('data-gs-height'), + maxWidth: el.attr('data-gs-max-width'), + minWidth: el.attr('data-gs-min-width'), + maxHeight: el.attr('data-gs-max-height'), + minHeight: el.attr('data-gs-min-height'), + autoPosition: Utils.toBool(el.attr('data-gs-auto-position')), + noResize: Utils.toBool(el.attr('data-gs-no-resize')), + noMove: Utils.toBool(el.attr('data-gs-no-move')), + locked: Utils.toBool(el.attr('data-gs-locked')), + el: el, + id: el.attr('data-gs-id'), + _grid: self + }, triggerAddEvent); + el.data('_gridstack_node', node); + + this._prepareElementByNode(el, node); + }; + GridStack.prototype.setAnimation = function(enable) { if (enable) { this.container.addClass('grid-stack-animate'); diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 04d0930..34f3931 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -11,10 +11,10 @@ f.is_intercepted=d(f.isIntercepted,"is_intercepted","isIntercepted"),f.create_st // jscs:enable requireCamelCaseOrUpperCaseIdentifiers var g=0,h=function(a,b,c,d,e){this.width=a,this["float"]=c||!1,this.height=d||0,this.nodes=e||[],this.onchange=b||function(){},this._updateCounter=0,this._float=this["float"],this._addedNodes=[],this._removedNodes=[]};h.prototype.batchUpdate=function(){this._updateCounter=1,this["float"]=!0},h.prototype.commit=function(){0!==this._updateCounter&&(this._updateCounter=0,this["float"]=this._float,this._packNodes(),this._notify())}, // For Meteor support: https://github.com/troolee/gridstack.js/pull/272 -h.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},h.prototype._fixCollisions=function(a){this._sortNodes(-1);var c=a,d=Boolean(b.find(this.nodes,function(a){return a.locked}));for(this["float"]||d||(c={x:0,y:a.y,width:this.width,height:a.height});;){var e=b.find(this.nodes,b.bind(f._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},h.prototype.isAreaEmpty=function(a,c,d,e){var g={x:a||0,y:c||0,width:d||1,height:e||1},h=b.find(this.nodes,b.bind(function(a){return f.isIntercepted(a,g)},this));return null===h||"undefined"==typeof h},h.prototype._sortNodes=function(a){this.nodes=f.sort(this.nodes,a,this.width)},h.prototype._packNodes=function(){this._sortNodes(),this["float"]?b.each(this.nodes,b.bind(function(a,c){if(!a._updating&&"undefined"!=typeof a._origY&&a.y!=a._origY)for(var d=a.y;d>=a._origY;){var e=b.chain(this.nodes).find(b.bind(f._didCollide,{n:a,newY:d})).value();e||(a._dirty=!0,a.y=d),--d}},this)):b.each(this.nodes,b.bind(function(a,c){if(!a.locked)for(;a.y>0;){var d=a.y-1,e=0===c;if(c>0){var g=b.chain(this.nodes).take(c).find(b.bind(f._didCollide,{n:a,newY:d})).value();e="undefined"==typeof g}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},h.prototype._prepareNode=function(a,c){return a=b.defaults(a||{},{width:1,height:1,x:0,y:0}),a.x=parseInt(""+a.x),a.y=parseInt(""+a.y),a.width=parseInt(""+a.width),a.height=parseInt(""+a.height),a.autoPosition=a.autoPosition||!1,a.noResize=a.noResize||!1,a.noMove=a.noMove||!1,a.width>this.width?a.width=this.width:a.width<1&&(a.width=1),a.height<1&&(a.height=1),a.x<0&&(a.x=0),a.x+a.width>this.width&&(c?a.width=this.width-a.x:a.x=this.width-a.width),a.y<0&&(a.y=0),a},h.prototype._notify=function(){if(!this._updateCounter){var a=Array.prototype.slice.call(arguments,0);a=a.concat(this.getDirtyNodes()),this.onchange(a)}},h.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},h.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},h.prototype.addNode=function(a,c){if(a=this._prepareNode(a),"undefined"!=typeof a.maxWidth&&(a.width=Math.min(a.width,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(a.height=Math.min(a.height,a.maxHeight)),"undefined"!=typeof a.minWidth&&(a.width=Math.max(a.width,a.minWidth)),"undefined"!=typeof a.minHeight&&(a.height=Math.max(a.height,a.minHeight)),a._id=++g,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,h=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(f._isAddNodeIntercepted,{x:e,y:h,node:a})))){a.x=e,a.y=h;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},h.prototype.removeNode=function(a,c){c="undefined"==typeof c?!0:c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),c&&this._notify(a)},h.prototype.canMoveNode=function(c,d,e,f,g){var i=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!i)return!0;var j,k=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return b==c?j=a.extend({},b):a.extend({},b)}));k.moveNode(j,d,e,f,g);var l=!0;return i&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=j&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},h.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},h.prototype.moveNode=function(a,b,c,d,e,f){if("number"!=typeof b&&(b=a.x),"number"!=typeof c&&(c=a.y),"number"!=typeof d&&(d=a.width),"number"!=typeof e&&(e=a.height),"undefined"!=typeof a.maxWidth&&(d=Math.min(d,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(e=Math.min(e,a.maxHeight)),"undefined"!=typeof a.minWidth&&(d=Math.max(d,a.minWidth)),"undefined"!=typeof a.minHeight&&(e=Math.max(e,a.minHeight)),a.x==b&&a.y==c&&a.width==d&&a.height==e)return a;var g=a.width!=d;return a._dirty=!0,a.x=b,a.y=c,a.width=d,a.height=e,a=this._prepareNode(a,g),this._fixCollisions(a),f||(this._packNodes(),this._notify()),a},h.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},h.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},h.prototype.endUpdate=function(){b.each(this.nodes,function(a){a._origY=a.y});var a=b.find(this.nodes,function(a){return a._updating});a&&(a._updating=!1)};var i=function(c,d){var f,g,i=this;d=d||{},this.container=a(c),"undefined"!=typeof d.handle_class&&(d.handleClass=d.handle_class,e("handle_class","handleClass")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.placeholder_class&&(d.placeholderClass=d.placeholder_class,e("placeholder_class","placeholderClass")),"undefined"!=typeof d.placeholder_text&&(d.placeholderText=d.placeholder_text,e("placeholder_text","placeholderText")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.cell_height&&(d.cellHeight=d.cell_height,e("cell_height","cellHeight")),"undefined"!=typeof d.vertical_margin&&(d.verticalMargin=d.vertical_margin,e("vertical_margin","verticalMargin")),"undefined"!=typeof d.min_width&&(d.minWidth=d.min_width,e("min_width","minWidth")),"undefined"!=typeof d.static_grid&&(d.staticGrid=d.static_grid,e("static_grid","staticGrid")),"undefined"!=typeof d.is_nested&&(d.isNested=d.is_nested,e("is_nested","isNested")),"undefined"!=typeof d.always_show_resize_handle&&(d.alwaysShowResizeHandle=d.always_show_resize_handle,e("always_show_resize_handle","alwaysShowResizeHandle")),d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).size()>0;if(this.opts=b.defaults(d||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,cellHeight:60,verticalMargin:20,auto:!0,minWidth:768,"float":!1,staticGrid:!1,_class:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,alwaysShowResizeHandle:d.alwaysShowResizeHandle||!1,resizable:b.defaults(d.resizable||{},{autoHide:!d.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(d.draggable||{},{handle:(d.handleClass?"."+d.handleClass:d.handle?d.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:d.disableDrag||!1,disableResize:d.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3}),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=j,g="auto"===this.opts.cellHeight,g?i.cellHeight(i.cellWidth(),!0):this.cellHeight(this.opts.cellHeight,!0),this.verticalMargin(this.opts.verticalMargin,!0),this.container.addClass(this.opts._class),this._setStaticClass(),j&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new h(this.opts.width,function(a){var c=0;b.each(a,function(a){null===a._id?a.el.remove():(a.el.attr("data-gs-x",a.x).attr("data-gs-y",a.y).attr("data-gs-width",a.width).attr("data-gs-height",a.height),c=Math.max(c,a.y+a.height))}),i._updateStyles(c+10)},this.opts["float"],this.opts.height),this.opts.auto){var k=[],l=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),k.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*l.opts.width})}),b.chain(k).sortBy(function(a){return a.i}).each(function(a){i._prepareElement(a.el)}).value()}if(this.setAnimation(this.opts.animate),this.placeholder=a('
'+this.opts.placeholderText+"
").hide(),this._updateContainerHeight(),this._updateHeightsOnResize=b.throttle(function(){i.cellHeight(i.cellWidth(),!1)},100),this.onResizeHandler=function(){if(g&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;f=!0,i.grid._sortNodes(),b.each(i.grid.nodes,function(a){i.container.append(a.el),i.opts.staticGrid||((a.noMove||i.opts.disableDrag)&&a.el.draggable("disable"),(a.noResize||i.opts.disableResize)&&a.el.resizable("disable"))})}else{if(!f)return;if(f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||a.el.draggable("enable"),a.noResize||i.opts.disableResize||a.el.resizable("enable")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),"string"==typeof i.opts.removable){var m=a(i.opts.removable);m.data("droppable")||m.droppable({}),m.on("dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on("dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}}; +h.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},h.prototype._fixCollisions=function(a){this._sortNodes(-1);var c=a,d=Boolean(b.find(this.nodes,function(a){return a.locked}));for(this["float"]||d||(c={x:0,y:a.y,width:this.width,height:a.height});;){var e=b.find(this.nodes,b.bind(f._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},h.prototype.isAreaEmpty=function(a,c,d,e){var g={x:a||0,y:c||0,width:d||1,height:e||1},h=b.find(this.nodes,b.bind(function(a){return f.isIntercepted(a,g)},this));return null===h||"undefined"==typeof h},h.prototype._sortNodes=function(a){this.nodes=f.sort(this.nodes,a,this.width)},h.prototype._packNodes=function(){this._sortNodes(),this["float"]?b.each(this.nodes,b.bind(function(a,c){if(!a._updating&&"undefined"!=typeof a._origY&&a.y!=a._origY)for(var d=a.y;d>=a._origY;){var e=b.chain(this.nodes).find(b.bind(f._didCollide,{n:a,newY:d})).value();e||(a._dirty=!0,a.y=d),--d}},this)):b.each(this.nodes,b.bind(function(a,c){if(!a.locked)for(;a.y>0;){var d=a.y-1,e=0===c;if(c>0){var g=b.chain(this.nodes).take(c).find(b.bind(f._didCollide,{n:a,newY:d})).value();e="undefined"==typeof g}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},h.prototype._prepareNode=function(a,c){return a=b.defaults(a||{},{width:1,height:1,x:0,y:0}),a.x=parseInt(""+a.x),a.y=parseInt(""+a.y),a.width=parseInt(""+a.width),a.height=parseInt(""+a.height),a.autoPosition=a.autoPosition||!1,a.noResize=a.noResize||!1,a.noMove=a.noMove||!1,a.width>this.width?a.width=this.width:a.width<1&&(a.width=1),a.height<1&&(a.height=1),a.x<0&&(a.x=0),a.x+a.width>this.width&&(c?a.width=this.width-a.x:a.x=this.width-a.width),a.y<0&&(a.y=0),a},h.prototype._notify=function(){if(!this._updateCounter){var a=Array.prototype.slice.call(arguments,0);a=a.concat(this.getDirtyNodes()),this.onchange(a)}},h.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},h.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},h.prototype.addNode=function(a,c){if(a=this._prepareNode(a),"undefined"!=typeof a.maxWidth&&(a.width=Math.min(a.width,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(a.height=Math.min(a.height,a.maxHeight)),"undefined"!=typeof a.minWidth&&(a.width=Math.max(a.width,a.minWidth)),"undefined"!=typeof a.minHeight&&(a.height=Math.max(a.height,a.minHeight)),a._id=++g,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,h=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(f._isAddNodeIntercepted,{x:e,y:h,node:a})))){a.x=e,a.y=h;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},h.prototype.removeNode=function(a,c){c="undefined"==typeof c?!0:c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),c&&this._notify(a)},h.prototype.canMoveNode=function(c,d,e,f,g){var i=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!i)return!0;var j,k=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return b==c?j=a.extend({},b):a.extend({},b)}));k.moveNode(j,d,e,f,g);var l=!0;return i&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=j&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},h.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},h.prototype.moveNode=function(a,b,c,d,e,f){if("number"!=typeof b&&(b=a.x),"number"!=typeof c&&(c=a.y),"number"!=typeof d&&(d=a.width),"number"!=typeof e&&(e=a.height),"undefined"!=typeof a.maxWidth&&(d=Math.min(d,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(e=Math.min(e,a.maxHeight)),"undefined"!=typeof a.minWidth&&(d=Math.max(d,a.minWidth)),"undefined"!=typeof a.minHeight&&(e=Math.max(e,a.minHeight)),a.x==b&&a.y==c&&a.width==d&&a.height==e)return a;var g=a.width!=d;return a._dirty=!0,a.x=b,a.y=c,a.width=d,a.height=e,a=this._prepareNode(a,g),this._fixCollisions(a),f||(this._packNodes(),this._notify()),a},h.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},h.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},h.prototype.endUpdate=function(){b.each(this.nodes,function(a){a._origY=a.y});var a=b.find(this.nodes,function(a){return a._updating});a&&(a._updating=!1)};var i=function(c,d){var f,g,i=this;d=d||{},this.container=a(c),"undefined"!=typeof d.handle_class&&(d.handleClass=d.handle_class,e("handle_class","handleClass")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.placeholder_class&&(d.placeholderClass=d.placeholder_class,e("placeholder_class","placeholderClass")),"undefined"!=typeof d.placeholder_text&&(d.placeholderText=d.placeholder_text,e("placeholder_text","placeholderText")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.cell_height&&(d.cellHeight=d.cell_height,e("cell_height","cellHeight")),"undefined"!=typeof d.vertical_margin&&(d.verticalMargin=d.vertical_margin,e("vertical_margin","verticalMargin")),"undefined"!=typeof d.min_width&&(d.minWidth=d.min_width,e("min_width","minWidth")),"undefined"!=typeof d.static_grid&&(d.staticGrid=d.static_grid,e("static_grid","staticGrid")),"undefined"!=typeof d.is_nested&&(d.isNested=d.is_nested,e("is_nested","isNested")),"undefined"!=typeof d.always_show_resize_handle&&(d.alwaysShowResizeHandle=d.always_show_resize_handle,e("always_show_resize_handle","alwaysShowResizeHandle")),d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).size()>0;if(this.opts=b.defaults(d||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,cellHeight:60,verticalMargin:20,auto:!0,minWidth:768,"float":!1,staticGrid:!1,_class:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,alwaysShowResizeHandle:d.alwaysShowResizeHandle||!1,resizable:b.defaults(d.resizable||{},{autoHide:!d.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(d.draggable||{},{handle:(d.handleClass?"."+d.handleClass:d.handle?d.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:d.disableDrag||!1,disableResize:d.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3}),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=j,g="auto"===this.opts.cellHeight,g?i.cellHeight(i.cellWidth(),!0):this.cellHeight(this.opts.cellHeight,!0),this.verticalMargin(this.opts.verticalMargin,!0),this.container.addClass(this.opts._class),this._setStaticClass(),j&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new h(this.opts.width,function(a){var c=0;b.each(a,function(a){null===a._id?a.el&&a.el.remove():(a.el.attr("data-gs-x",a.x).attr("data-gs-y",a.y).attr("data-gs-width",a.width).attr("data-gs-height",a.height),c=Math.max(c,a.y+a.height))}),i._updateStyles(c+10)},this.opts["float"],this.opts.height),this.opts.auto){var k=[],l=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),k.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*l.opts.width})}),b.chain(k).sortBy(function(a){return a.i}).each(function(a){i._prepareElement(a.el)}).value()}if(this.setAnimation(this.opts.animate),this.placeholder=a('
'+this.opts.placeholderText+"
").hide(),this._updateContainerHeight(),this._updateHeightsOnResize=b.throttle(function(){i.cellHeight(i.cellWidth(),!1)},100),this.onResizeHandler=function(){if(g&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;f=!0,i.grid._sortNodes(),b.each(i.grid.nodes,function(a){i.container.append(a.el),i.opts.staticGrid||((a.noMove||i.opts.disableDrag)&&a.el.draggable("disable"),(a.noResize||i.opts.disableResize)&&a.el.resizable("disable"))})}else{if(!f)return;if(f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||a.el.draggable("enable"),a.noResize||i.opts.disableResize||a.el.resizable("enable")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),"string"==typeof i.opts.removable){var m=a(i.opts.removable);m.data("droppable")||m.droppable({accept:"."+i.opts.itemClass}),m.on("dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on("dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(i.opts.acceptWidgets){var n=null,o=function(a,b){var c=n,d=c.data("_gridstack_node"),e=i.getCellFromPixel(b.offset,!0),f=Math.max(0,e.x),g=Math.max(0,e.y);if(d._added){if(!i.grid.canMoveNode(d,f,g))return;i.grid.moveNode(d,f,g),i._updateContainerHeight()}else d._added=!0,d.el=c,d.x=f,d.y=g,i.grid.cleanNodes(),i.grid.beginUpdate(d),i.grid.addNode(d),i.container.append(i.placeholder),i.placeholder.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).show(),d.el=i.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,i._updateContainerHeight()};a(i.container).droppable({accept:function(b){b=a(b);var c=b.data("_gridstack_node");return c&&c._grid===i?!1:b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)},over:function(b,c){var d=(i.container.offset(),a(c.draggable)),e=i.cellWidth(),f=i.cellHeight(),g=d.data("_gridstack_node"),h=g?g.width:Math.ceil(d.outerWidth()/e),j=g?g.height:Math.ceil(d.outerHeight()/f);n=d;var k=i.grid._prepareNode({width:h,height:j,_added:!1,_temporary:!0});d.data("_gridstack_node",k),d.data("_gridstack_node_orig",g),d.on("drag",o)},out:function(b,c){var d=a(c.draggable);d.unbind("drag",o);var e=d.data("_gridstack_node");e.el=null,i.grid.removeNode(e),i.placeholder.detach(),i._updateContainerHeight(),d.data("_gridstack_node",d.data("_gridstack_node_orig"))},drop:function(b,c){i.placeholder.detach();var d=a(c.draggable).data("_gridstack_node");d._grid=i;var e=a(c.draggable).clone(!1);e.data("_gridstack_node",d),a(c.draggable).remove(),d.el=e,i.placeholder.hide(),e.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).addClass(i.opts.itemClass).removeAttr("style").enableSelection().removeData("draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled").unbind("drag",o),i.container.append(e),i._prepareElementByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -return i.prototype._triggerChangeEvent=function(a){var b=this.grid.getDirtyNodes(),c=!1,d=[];b&&b.length&&(d.push(b),c=!0),(c||a===!0)&&this.container.trigger("change",d)},i.prototype._triggerAddEvent=function(){this.grid._addedNodes&&this.grid._addedNodes.length>0&&(this.container.trigger("added",[b.map(this.grid._addedNodes,b.clone)]),this.grid._addedNodes=[])},i.prototype._triggerRemoveEvent=function(){this.grid._removedNodes&&this.grid._removedNodes.length>0&&(this.container.trigger("removed",[b.map(this.grid._removedNodes,b.clone)]),this.grid._removedNodes=[])},i.prototype._initStyles=function(){this._stylesId&&f.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=f.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},i.prototype._updateStyles=function(a){if(null!==this._styles&&"undefined"!=typeof this._styles){var b,c="."+this.opts._class+" ."+this.opts.itemClass,d=this;if("undefined"==typeof a&&(a=this._styles._max,this._initStyles(),this._updateContainerHeight()),this.opts.cellHeight&&!(0!==this._styles._max&&a<=this._styles._max)&&(b=this.opts.verticalMargin&&this.opts.cellHeightUnit!==this.opts.verticalMarginUnit?function(a,b){return a&&b?"calc("+(d.opts.cellHeight*a+d.opts.cellHeightUnit)+" + "+(d.opts.verticalMargin*b+d.opts.verticalMarginUnit)+")":d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit}:function(a,b){return d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit},0===this._styles._max&&f.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;a>e;++e)f.insertCSSRule(this._styles,c+'[data-gs-height="'+(e+1)+'"]',"height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-min-height="'+(e+1)+'"]',"min-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-max-height="'+(e+1)+'"]',"max-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-y="'+e+'"]',"top: "+b(e,e)+";",e);this._styles._max=a}}},i.prototype._updateContainerHeight=function(){if(!this.grid._updateCounter){var a=this.grid.getGridHeight();this.container.attr("data-gs-current-height",a),this.opts.cellHeight&&(this.opts.verticalMargin?this.opts.cellHeightUnit===this.opts.verticalMarginUnit?this.container.css("height",a*(this.opts.cellHeight+this.opts.verticalMargin)-this.opts.verticalMargin+this.opts.cellHeightUnit):this.container.css("height","calc("+(a*this.opts.cellHeight+this.opts.cellHeightUnit)+" + "+(a*(this.opts.verticalMargin-1)+this.opts.verticalMarginUnit)+")"):this.container.css("height",a*this.opts.cellHeight+this.opts.cellHeightUnit))}},i.prototype._isOneColumnMode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.minWidth},i.prototype._setupRemovingTimeout=function(b){var c=this,d=a(b).data("_gridstack_node");!d._removeTimeout&&c.opts.removable&&(d._removeTimeout=setTimeout(function(){b.addClass("grid-stack-item-removing"),d._isAboutToRemove=!0},c.opts.removeTimeout))},i.prototype._clearRemovingTimeout=function(b){var c=a(b).data("_gridstack_node");c._removeTimeout&&(clearTimeout(c._removeTimeout),c._removeTimeout=null,b.removeClass("grid-stack-item-removing"),c._isAboutToRemove=!1)},i.prototype._prepareElement=function(c,d){d="undefined"!=typeof d?d:!1;var e=this;c=a(c),c.addClass(this.opts.itemClass);var g=e.grid.addNode({x:c.attr("data-gs-x"),y:c.attr("data-gs-y"),width:c.attr("data-gs-width"),height:c.attr("data-gs-height"),maxWidth:c.attr("data-gs-max-width"),minWidth:c.attr("data-gs-min-width"),maxHeight:c.attr("data-gs-max-height"),minHeight:c.attr("data-gs-min-height"),autoPosition:f.toBool(c.attr("data-gs-auto-position")),noResize:f.toBool(c.attr("data-gs-no-resize")),noMove:f.toBool(c.attr("data-gs-no-move")),locked:f.toBool(c.attr("data-gs-locked")),el:c,id:c.attr("data-gs-id"),_grid:e},d);c.data("_gridstack_node",g);var h,i,j=function(a,b){var d,f,j=Math.round(b.position.left/h),k=Math.floor((b.position.top+i/2)/i);if("drag"!=a.type&&(d=Math.round(b.size.width/h),f=Math.round(b.size.height/i)),"drag"==a.type)0>j||j>=e.grid.width||0>k?(e.opts.removable===!0&&e._setupRemovingTimeout(c),j=g._beforeDragX,k=g._beforeDragY,e.placeholder.detach(),e.placeholder.hide(),e.grid.removeNode(g),e._updateContainerHeight(),g._temporaryRemoved=!0):(e._clearRemovingTimeout(c),g._temporaryRemoved&&(e.grid.addNode(g),e.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",d).attr("data-gs-height",f).show(),e.container.append(e.placeholder),g.el=e.placeholder,g._temporaryRemoved=!1));else if("resize"==a.type&&0>j)return;e.grid.canMoveNode(g,j,k,d,f)&&(e.grid.moveNode(g,j,k,d,f),e._updateContainerHeight())},k=function(b,d){e.container.append(e.placeholder);var f=a(this);e.grid.cleanNodes(),e.grid.beginUpdate(g),h=Math.ceil(f.outerWidth()/f.attr("data-gs-width"));var j=Math.ceil(f.outerHeight()/f.attr("data-gs-height"));i=e.container.height()/parseInt(e.container.attr("data-gs-current-height")),e.placeholder.attr("data-gs-x",f.attr("data-gs-x")).attr("data-gs-y",f.attr("data-gs-y")).attr("data-gs-width",f.attr("data-gs-width")).attr("data-gs-height",f.attr("data-gs-height")).show(),g.el=e.placeholder,g._beforeDragX=g.x,g._beforeDragY=g.y,c.resizable("option","minWidth",h*(g.minWidth||1)),c.resizable("option","minHeight",j*(g.minHeight||1)),"resizestart"==b.type&&f.find(".grid-stack-item").trigger("resizestart")},l=function(b,d){var f=!1;e.placeholder.detach();var h=a(this);g.el=h,e.placeholder.hide(),g._isAboutToRemove?(f=!0,c.removeData("_gridstack_node"),c.remove()):(e._clearRemovingTimeout(c),g._temporaryRemoved?(h.attr("data-gs-x",g._beforeDragX).attr("data-gs-y",g._beforeDragY).attr("data-gs-width",g.width).attr("data-gs-height",g.height).removeAttr("style"),g.x=g._beforeDragX,g.y=g._beforeDragY,e.grid.addNode(g)):h.attr("data-gs-x",g.x).attr("data-gs-y",g.y).attr("data-gs-width",g.width).attr("data-gs-height",g.height).removeAttr("style")),e._updateContainerHeight(),e._triggerChangeEvent(f),e.grid.endUpdate();var i=h.find(".grid-stack");i.length&&"resizestop"==b.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),h.find(".grid-stack-item").trigger("resizestop"))};c.draggable(b.extend(this.opts.draggable,{containment:this.opts.isNested?this.container.parent():null,start:k,stop:l,drag:j})).resizable(b.extend(this.opts.resizable,{start:k,stop:l,resize:j})),(g.noMove||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableDrag)&&c.draggable("disable"),(g.noResize||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableResize)&&c.resizable("disable"),c.attr("data-gs-locked",g.locked?"yes":null)},i.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},i.prototype.addWidget=function(b,c,d,e,f,g,h,i,j,k,l){return b=a(b),"undefined"!=typeof c&&b.attr("data-gs-x",c),"undefined"!=typeof d&&b.attr("data-gs-y",d),"undefined"!=typeof e&&b.attr("data-gs-width",e),"undefined"!=typeof f&&b.attr("data-gs-height",f),"undefined"!=typeof g&&b.attr("data-gs-auto-position",g?"yes":null),"undefined"!=typeof h&&b.attr("data-gs-min-width",h),"undefined"!=typeof i&&b.attr("data-gs-max-width",i),"undefined"!=typeof j&&b.attr("data-gs-min-height",j),"undefined"!=typeof k&&b.attr("data-gs-max-height",k),"undefined"!=typeof l&&b.attr("data-gs-id",l),this.container.append(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.willItFit=function(a,b,c,d,e){var f={x:a,y:b,width:c,height:d,autoPosition:e};return this.grid.canBePlacedWithRespectToHeight(f)},i.prototype.removeWidget=function(b,c){c="undefined"==typeof c?!0:c,b=a(b);var d=b.data("_gridstack_node"); +return i.prototype._triggerChangeEvent=function(a){var b=this.grid.getDirtyNodes(),c=!1,d=[];b&&b.length&&(d.push(b),c=!0),(c||a===!0)&&this.container.trigger("change",d)},i.prototype._triggerAddEvent=function(){this.grid._addedNodes&&this.grid._addedNodes.length>0&&(this.container.trigger("added",[b.map(this.grid._addedNodes,b.clone)]),this.grid._addedNodes=[])},i.prototype._triggerRemoveEvent=function(){this.grid._removedNodes&&this.grid._removedNodes.length>0&&(this.container.trigger("removed",[b.map(this.grid._removedNodes,b.clone)]),this.grid._removedNodes=[])},i.prototype._initStyles=function(){this._stylesId&&f.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=f.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},i.prototype._updateStyles=function(a){if(null!==this._styles&&"undefined"!=typeof this._styles){var b,c="."+this.opts._class+" ."+this.opts.itemClass,d=this;if("undefined"==typeof a&&(a=this._styles._max,this._initStyles(),this._updateContainerHeight()),this.opts.cellHeight&&!(0!==this._styles._max&&a<=this._styles._max)&&(b=this.opts.verticalMargin&&this.opts.cellHeightUnit!==this.opts.verticalMarginUnit?function(a,b){return a&&b?"calc("+(d.opts.cellHeight*a+d.opts.cellHeightUnit)+" + "+(d.opts.verticalMargin*b+d.opts.verticalMarginUnit)+")":d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit}:function(a,b){return d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit},0===this._styles._max&&f.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;a>e;++e)f.insertCSSRule(this._styles,c+'[data-gs-height="'+(e+1)+'"]',"height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-min-height="'+(e+1)+'"]',"min-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-max-height="'+(e+1)+'"]',"max-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-y="'+e+'"]',"top: "+b(e,e)+";",e);this._styles._max=a}}},i.prototype._updateContainerHeight=function(){if(!this.grid._updateCounter){var a=this.grid.getGridHeight();this.container.attr("data-gs-current-height",a),this.opts.cellHeight&&(this.opts.verticalMargin?this.opts.cellHeightUnit===this.opts.verticalMarginUnit?this.container.css("height",a*(this.opts.cellHeight+this.opts.verticalMargin)-this.opts.verticalMargin+this.opts.cellHeightUnit):this.container.css("height","calc("+(a*this.opts.cellHeight+this.opts.cellHeightUnit)+" + "+(a*(this.opts.verticalMargin-1)+this.opts.verticalMarginUnit)+")"):this.container.css("height",a*this.opts.cellHeight+this.opts.cellHeightUnit))}},i.prototype._isOneColumnMode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.minWidth},i.prototype._setupRemovingTimeout=function(b){var c=this,d=a(b).data("_gridstack_node");!d._removeTimeout&&c.opts.removable&&(d._removeTimeout=setTimeout(function(){b.addClass("grid-stack-item-removing"),d._isAboutToRemove=!0},c.opts.removeTimeout))},i.prototype._clearRemovingTimeout=function(b){var c=a(b).data("_gridstack_node");c._removeTimeout&&(clearTimeout(c._removeTimeout),c._removeTimeout=null,b.removeClass("grid-stack-item-removing"),c._isAboutToRemove=!1)},i.prototype._prepareElementByNode=function(c,d){var e,f,g=this,h=function(a,b){var h,i,j=Math.round(b.position.left/e),k=Math.floor((b.position.top+f/2)/f);if("drag"!=a.type&&(h=Math.round(b.size.width/e),i=Math.round(b.size.height/f)),"drag"==a.type)0>j||j>=g.grid.width||0>k?(g.opts.removable===!0&&g._setupRemovingTimeout(c),j=d._beforeDragX,k=d._beforeDragY,g.placeholder.detach(),g.placeholder.hide(),g.grid.removeNode(d),g._updateContainerHeight(),d._temporaryRemoved=!0):(g._clearRemovingTimeout(c),d._temporaryRemoved&&(g.grid.addNode(d),g.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),g.container.append(g.placeholder),d.el=g.placeholder,d._temporaryRemoved=!1));else if("resize"==a.type&&0>j)return;g.grid.canMoveNode(d,j,k,h,i)&&(g.grid.moveNode(d,j,k,h,i),g._updateContainerHeight())},i=function(b,h){g.container.append(g.placeholder);var i=a(this);g.grid.cleanNodes(),g.grid.beginUpdate(d),e=Math.ceil(i.outerWidth()/i.attr("data-gs-width"));var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));f=g.container.height()/parseInt(g.container.attr("data-gs-current-height")),g.placeholder.attr("data-gs-x",i.attr("data-gs-x")).attr("data-gs-y",i.attr("data-gs-y")).attr("data-gs-width",i.attr("data-gs-width")).attr("data-gs-height",i.attr("data-gs-height")).show(),d.el=g.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,c.resizable("option","minWidth",e*(d.minWidth||1)),c.resizable("option","minHeight",j*(d.minHeight||1)),"resizestart"==b.type&&i.find(".grid-stack-item").trigger("resizestart")},j=function(b,e){var f=a(this);if(f.data("_gridstack_node")){var h=!1;g.placeholder.detach(),d.el=f,g.placeholder.hide(),d._isAboutToRemove?(h=!0,c.removeData("_gridstack_node"),c.remove()):(g._clearRemovingTimeout(c),d._temporaryRemoved?(f.attr("data-gs-x",d._beforeDragX).attr("data-gs-y",d._beforeDragY).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style"),d.x=d._beforeDragX,d.y=d._beforeDragY,g.grid.addNode(d)):f.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style")),g._updateContainerHeight(),g._triggerChangeEvent(h),g.grid.endUpdate();var i=f.find(".grid-stack");i.length&&"resizestop"==b.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),f.find(".grid-stack-item").trigger("resizestop"))}};c.draggable(b.extend(this.opts.draggable,{containment:this.opts.isNested?this.container.parent():null,start:i,stop:j,drag:h})).resizable(b.extend(this.opts.resizable,{start:i,stop:j,resize:h})),(d.noMove||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableResize)&&c.resizable("disable"),c.attr("data-gs-locked",d.locked?"yes":null)},i.prototype._prepareElement=function(b,c){c="undefined"!=typeof c?c:!1;var d=this;b=a(b),b.addClass(this.opts.itemClass);var e=d.grid.addNode({x:b.attr("data-gs-x"),y:b.attr("data-gs-y"),width:b.attr("data-gs-width"),height:b.attr("data-gs-height"),maxWidth:b.attr("data-gs-max-width"),minWidth:b.attr("data-gs-min-width"),maxHeight:b.attr("data-gs-max-height"),minHeight:b.attr("data-gs-min-height"),autoPosition:f.toBool(b.attr("data-gs-auto-position")),noResize:f.toBool(b.attr("data-gs-no-resize")),noMove:f.toBool(b.attr("data-gs-no-move")),locked:f.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementByNode(b,e)},i.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},i.prototype.addWidget=function(b,c,d,e,f,g,h,i,j,k,l){return b=a(b),"undefined"!=typeof c&&b.attr("data-gs-x",c),"undefined"!=typeof d&&b.attr("data-gs-y",d),"undefined"!=typeof e&&b.attr("data-gs-width",e),"undefined"!=typeof f&&b.attr("data-gs-height",f),"undefined"!=typeof g&&b.attr("data-gs-auto-position",g?"yes":null),"undefined"!=typeof h&&b.attr("data-gs-min-width",h),"undefined"!=typeof i&&b.attr("data-gs-max-width",i),"undefined"!=typeof j&&b.attr("data-gs-min-height",j),"undefined"!=typeof k&&b.attr("data-gs-max-height",k),"undefined"!=typeof l&&b.attr("data-gs-id",l),this.container.append(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.willItFit=function(a,b,c,d,e){var f={x:a,y:b,width:c,height:d,autoPosition:e};return this.grid.canBePlacedWithRespectToHeight(f)},i.prototype.removeWidget=function(b,c){c="undefined"==typeof c?!0:c,b=a(b);var d=b.data("_gridstack_node"); // For Meteor support: https://github.com/troolee/gridstack.js/pull/272 d||(d=this.grid.getNodeDataByDOMEl(b)),this.grid.removeNode(d,c),b.removeData("_gridstack_node"),this._updateContainerHeight(),c&&b.remove(),this._triggerChangeEvent(!0),this._triggerRemoveEvent()},i.prototype.removeAll=function(a){b.each(this.grid.nodes,b.bind(function(b){this.removeWidget(b.el,a)},this)),this.grid.nodes=[],this._updateContainerHeight()},i.prototype.destroy=function(b){a(window).off("resize",this.onResizeHandler),this.disable(),"undefined"==typeof b||b?this.container.remove():this.removeAll(!1),f.removeStylesheet(this._stylesId),this.grid&&(this.grid=null)},i.prototype.resizable=function(b,c){var d=this;return b=a(b),b.each(function(b,e){e=a(e);var f=e.data("_gridstack_node");"undefined"!=typeof f&&null!==f&&(f.noResize=!c,f.noResize||d._isOneColumnMode()?e.resizable("disable"):e.resizable("enable"))}),this},i.prototype.movable=function(b,c){var d=this;return b=a(b),b.each(function(b,e){e=a(e);var f=e.data("_gridstack_node");"undefined"!=typeof f&&null!==f&&(f.noMove=!c,f.noMove||d._isOneColumnMode()?(e.draggable("disable"),e.removeClass("ui-draggable-handle")):(e.draggable("enable"),e.addClass("ui-draggable-handle")))}),this},i.prototype.enableMove=function(a,b){this.movable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableDrag=!a)},i.prototype.enableResize=function(a,b){this.resizable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableResize=!a)},i.prototype.disable=function(){this.movable(this.container.children("."+this.opts.itemClass),!1),this.resizable(this.container.children("."+this.opts.itemClass),!1),this.container.trigger("disable")},i.prototype.enable=function(){this.movable(this.container.children("."+this.opts.itemClass),!0),this.resizable(this.container.children("."+this.opts.itemClass),!0),this.container.trigger("enable")},i.prototype.locked=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(e.locked=c||!1,d.attr("data-gs-locked",e.locked?"yes":null))}),this},i.prototype.maxHeight=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.maxHeight=c||!1,d.attr("data-gs-max-height",c)))}),this},i.prototype.minHeight=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.minHeight=c||!1,d.attr("data-gs-min-height",c)))}),this},i.prototype.maxWidth=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.maxWidth=c||!1,d.attr("data-gs-max-width",c)))}),this},i.prototype.minWidth=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.minWidth=c||!1,d.attr("data-gs-min-width",c)))}),this},i.prototype._updateElement=function(b,c){b=a(b).first();var d=b.data("_gridstack_node");if("undefined"!=typeof d&&null!==d){var e=this;e.grid.cleanNodes(),e.grid.beginUpdate(d),c.call(this,b,d),e._updateContainerHeight(),e._triggerChangeEvent(),e.grid.endUpdate()}},i.prototype.resize=function(a,b,c){this._updateElement(a,function(a,d){b=null!==b&&"undefined"!=typeof b?b:d.width,c=null!==c&&"undefined"!=typeof c?c:d.height,this.grid.moveNode(d,d.x,d.y,b,c)})},i.prototype.move=function(a,b,c){this._updateElement(a,function(a,d){b=null!==b&&"undefined"!=typeof b?b:d.x,c=null!==c&&"undefined"!=typeof c?c:d.y,this.grid.moveNode(d,b,c,d.width,d.height)})},i.prototype.update=function(a,b,c,d,e){this._updateElement(a,function(a,f){b=null!==b&&"undefined"!=typeof b?b:f.x,c=null!==c&&"undefined"!=typeof c?c:f.y,d=null!==d&&"undefined"!=typeof d?d:f.width,e=null!==e&&"undefined"!=typeof e?e:f.height,this.grid.moveNode(f,b,c,d,e)})},i.prototype.verticalMargin=function(a,b){if("undefined"==typeof a)return this.opts.verticalMargin;var c=f.parseHeight(a);this.opts.verticalMarginUnit===c.unit&&this.opts.height===c.height||(this.opts.verticalMarginUnit=c.unit,this.opts.verticalMargin=c.height,b||this._updateStyles())},i.prototype.cellHeight=function(a,b){if("undefined"==typeof a){if(this.opts.cellHeight)return this.opts.cellHeight;var c=this.container.children("."+this.opts.itemClass).first();return Math.ceil(c.outerHeight()/c.attr("data-gs-height"))}var d=f.parseHeight(a);this.opts.cellHeightUnit===d.heightUnit&&this.opts.height===d.height||(this.opts.cellHeightUnit=d.unit,this.opts.cellHeight=d.height,b||this._updateStyles())},i.prototype.cellWidth=function(){var a=this.container.children("."+this.opts.itemClass).first();return Math.ceil(a.outerWidth()/parseInt(a.attr("data-gs-width"),10))},i.prototype.getCellFromPixel=function(a,b){var c="undefined"!=typeof b&&b?this.container.offset():this.container.position(),d=a.left-c.left,e=a.top-c.top,f=Math.floor(this.container.width()/this.opts.width),g=Math.floor(this.container.height()/parseInt(this.container.attr("data-gs-current-height")));return{x:Math.floor(d/f),y:Math.floor(e/g)}},i.prototype.batchUpdate=function(){this.grid.batchUpdate()},i.prototype.commit=function(){this.grid.commit(),this._updateContainerHeight()},i.prototype.isAreaEmpty=function(a,b,c,d){return this.grid.isAreaEmpty(a,b,c,d)},i.prototype.setStatic=function(a){this.opts.staticGrid=a===!0,this.enableMove(!a),this.enableResize(!a),this._setStaticClass()},i.prototype._setStaticClass=function(){var a="grid-stack-static";this.opts.staticGrid===!0?this.container.addClass(a):this.container.removeClass(a)},i.prototype._updateNodeWidths=function(a,b){this.grid._sortNodes(),this.grid.batchUpdate();for(var c={},d=0;d Date: Tue, 1 Mar 2016 08:42:22 +0100 Subject: [PATCH 10/15] setGridWidth api documentation udpdate --- doc/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/README.md b/doc/README.md index d5a98f1..7a8835d 100644 --- a/doc/README.md +++ b/doc/README.md @@ -413,11 +413,12 @@ Toggle the grid animation state. Toggles the `grid-stack-animate` class. - `doAnimate` - if `true` the grid will animate. -### setGridWidth(gridWidth) +### setGridWidth(gridWidth, doNotPropagate) (Experimental) Modify number of columns in the grid. Will attempt to update existing widgets to conform to new number of columns. Requires `gridstack-extra.css` or `gridstack-extra.min.css`. - `gridWidth` - Integer between 1 and 12. +- `doNotPropagate` - if true existing widgets will not be updated. ### setStatic(staticValue) From aa18c6332e9653886a153786938f4ebb70931c3c Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Mon, 29 Feb 2016 23:49:34 -0800 Subject: [PATCH 11/15] rebuild dist --- dist/gridstack.js | 7 +++++-- dist/gridstack.min.js | 2 +- dist/gridstack.min.map | 2 +- doc/README.md | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 5db6e4e..2ca4886 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -1538,10 +1538,13 @@ this.grid.commit(); }; - GridStack.prototype.setGridWidth = function(gridWidth) { + GridStack.prototype.setGridWidth = function(gridWidth,doNotPropagate) { this.container.removeClass('grid-stack-' + this.opts.width); - this._updateNodeWidths(this.opts.width, gridWidth); + if (doNotPropagate !== true) { + this._updateNodeWidths(this.opts.width, gridWidth); + } this.opts.width = gridWidth; + this.grid.width = gridWidth; this.container.addClass('grid-stack-' + gridWidth); }; diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 34f3931..fccbb98 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -16,5 +16,5 @@ h.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){ // jscs:enable requireCamelCaseOrUpperCaseIdentifiers return i.prototype._triggerChangeEvent=function(a){var b=this.grid.getDirtyNodes(),c=!1,d=[];b&&b.length&&(d.push(b),c=!0),(c||a===!0)&&this.container.trigger("change",d)},i.prototype._triggerAddEvent=function(){this.grid._addedNodes&&this.grid._addedNodes.length>0&&(this.container.trigger("added",[b.map(this.grid._addedNodes,b.clone)]),this.grid._addedNodes=[])},i.prototype._triggerRemoveEvent=function(){this.grid._removedNodes&&this.grid._removedNodes.length>0&&(this.container.trigger("removed",[b.map(this.grid._removedNodes,b.clone)]),this.grid._removedNodes=[])},i.prototype._initStyles=function(){this._stylesId&&f.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=f.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},i.prototype._updateStyles=function(a){if(null!==this._styles&&"undefined"!=typeof this._styles){var b,c="."+this.opts._class+" ."+this.opts.itemClass,d=this;if("undefined"==typeof a&&(a=this._styles._max,this._initStyles(),this._updateContainerHeight()),this.opts.cellHeight&&!(0!==this._styles._max&&a<=this._styles._max)&&(b=this.opts.verticalMargin&&this.opts.cellHeightUnit!==this.opts.verticalMarginUnit?function(a,b){return a&&b?"calc("+(d.opts.cellHeight*a+d.opts.cellHeightUnit)+" + "+(d.opts.verticalMargin*b+d.opts.verticalMarginUnit)+")":d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit}:function(a,b){return d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit},0===this._styles._max&&f.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;a>e;++e)f.insertCSSRule(this._styles,c+'[data-gs-height="'+(e+1)+'"]',"height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-min-height="'+(e+1)+'"]',"min-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-max-height="'+(e+1)+'"]',"max-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-y="'+e+'"]',"top: "+b(e,e)+";",e);this._styles._max=a}}},i.prototype._updateContainerHeight=function(){if(!this.grid._updateCounter){var a=this.grid.getGridHeight();this.container.attr("data-gs-current-height",a),this.opts.cellHeight&&(this.opts.verticalMargin?this.opts.cellHeightUnit===this.opts.verticalMarginUnit?this.container.css("height",a*(this.opts.cellHeight+this.opts.verticalMargin)-this.opts.verticalMargin+this.opts.cellHeightUnit):this.container.css("height","calc("+(a*this.opts.cellHeight+this.opts.cellHeightUnit)+" + "+(a*(this.opts.verticalMargin-1)+this.opts.verticalMarginUnit)+")"):this.container.css("height",a*this.opts.cellHeight+this.opts.cellHeightUnit))}},i.prototype._isOneColumnMode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.minWidth},i.prototype._setupRemovingTimeout=function(b){var c=this,d=a(b).data("_gridstack_node");!d._removeTimeout&&c.opts.removable&&(d._removeTimeout=setTimeout(function(){b.addClass("grid-stack-item-removing"),d._isAboutToRemove=!0},c.opts.removeTimeout))},i.prototype._clearRemovingTimeout=function(b){var c=a(b).data("_gridstack_node");c._removeTimeout&&(clearTimeout(c._removeTimeout),c._removeTimeout=null,b.removeClass("grid-stack-item-removing"),c._isAboutToRemove=!1)},i.prototype._prepareElementByNode=function(c,d){var e,f,g=this,h=function(a,b){var h,i,j=Math.round(b.position.left/e),k=Math.floor((b.position.top+f/2)/f);if("drag"!=a.type&&(h=Math.round(b.size.width/e),i=Math.round(b.size.height/f)),"drag"==a.type)0>j||j>=g.grid.width||0>k?(g.opts.removable===!0&&g._setupRemovingTimeout(c),j=d._beforeDragX,k=d._beforeDragY,g.placeholder.detach(),g.placeholder.hide(),g.grid.removeNode(d),g._updateContainerHeight(),d._temporaryRemoved=!0):(g._clearRemovingTimeout(c),d._temporaryRemoved&&(g.grid.addNode(d),g.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),g.container.append(g.placeholder),d.el=g.placeholder,d._temporaryRemoved=!1));else if("resize"==a.type&&0>j)return;g.grid.canMoveNode(d,j,k,h,i)&&(g.grid.moveNode(d,j,k,h,i),g._updateContainerHeight())},i=function(b,h){g.container.append(g.placeholder);var i=a(this);g.grid.cleanNodes(),g.grid.beginUpdate(d),e=Math.ceil(i.outerWidth()/i.attr("data-gs-width"));var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));f=g.container.height()/parseInt(g.container.attr("data-gs-current-height")),g.placeholder.attr("data-gs-x",i.attr("data-gs-x")).attr("data-gs-y",i.attr("data-gs-y")).attr("data-gs-width",i.attr("data-gs-width")).attr("data-gs-height",i.attr("data-gs-height")).show(),d.el=g.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,c.resizable("option","minWidth",e*(d.minWidth||1)),c.resizable("option","minHeight",j*(d.minHeight||1)),"resizestart"==b.type&&i.find(".grid-stack-item").trigger("resizestart")},j=function(b,e){var f=a(this);if(f.data("_gridstack_node")){var h=!1;g.placeholder.detach(),d.el=f,g.placeholder.hide(),d._isAboutToRemove?(h=!0,c.removeData("_gridstack_node"),c.remove()):(g._clearRemovingTimeout(c),d._temporaryRemoved?(f.attr("data-gs-x",d._beforeDragX).attr("data-gs-y",d._beforeDragY).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style"),d.x=d._beforeDragX,d.y=d._beforeDragY,g.grid.addNode(d)):f.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style")),g._updateContainerHeight(),g._triggerChangeEvent(h),g.grid.endUpdate();var i=f.find(".grid-stack");i.length&&"resizestop"==b.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),f.find(".grid-stack-item").trigger("resizestop"))}};c.draggable(b.extend(this.opts.draggable,{containment:this.opts.isNested?this.container.parent():null,start:i,stop:j,drag:h})).resizable(b.extend(this.opts.resizable,{start:i,stop:j,resize:h})),(d.noMove||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableResize)&&c.resizable("disable"),c.attr("data-gs-locked",d.locked?"yes":null)},i.prototype._prepareElement=function(b,c){c="undefined"!=typeof c?c:!1;var d=this;b=a(b),b.addClass(this.opts.itemClass);var e=d.grid.addNode({x:b.attr("data-gs-x"),y:b.attr("data-gs-y"),width:b.attr("data-gs-width"),height:b.attr("data-gs-height"),maxWidth:b.attr("data-gs-max-width"),minWidth:b.attr("data-gs-min-width"),maxHeight:b.attr("data-gs-max-height"),minHeight:b.attr("data-gs-min-height"),autoPosition:f.toBool(b.attr("data-gs-auto-position")),noResize:f.toBool(b.attr("data-gs-no-resize")),noMove:f.toBool(b.attr("data-gs-no-move")),locked:f.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementByNode(b,e)},i.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},i.prototype.addWidget=function(b,c,d,e,f,g,h,i,j,k,l){return b=a(b),"undefined"!=typeof c&&b.attr("data-gs-x",c),"undefined"!=typeof d&&b.attr("data-gs-y",d),"undefined"!=typeof e&&b.attr("data-gs-width",e),"undefined"!=typeof f&&b.attr("data-gs-height",f),"undefined"!=typeof g&&b.attr("data-gs-auto-position",g?"yes":null),"undefined"!=typeof h&&b.attr("data-gs-min-width",h),"undefined"!=typeof i&&b.attr("data-gs-max-width",i),"undefined"!=typeof j&&b.attr("data-gs-min-height",j),"undefined"!=typeof k&&b.attr("data-gs-max-height",k),"undefined"!=typeof l&&b.attr("data-gs-id",l),this.container.append(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.willItFit=function(a,b,c,d,e){var f={x:a,y:b,width:c,height:d,autoPosition:e};return this.grid.canBePlacedWithRespectToHeight(f)},i.prototype.removeWidget=function(b,c){c="undefined"==typeof c?!0:c,b=a(b);var d=b.data("_gridstack_node"); // For Meteor support: https://github.com/troolee/gridstack.js/pull/272 -d||(d=this.grid.getNodeDataByDOMEl(b)),this.grid.removeNode(d,c),b.removeData("_gridstack_node"),this._updateContainerHeight(),c&&b.remove(),this._triggerChangeEvent(!0),this._triggerRemoveEvent()},i.prototype.removeAll=function(a){b.each(this.grid.nodes,b.bind(function(b){this.removeWidget(b.el,a)},this)),this.grid.nodes=[],this._updateContainerHeight()},i.prototype.destroy=function(b){a(window).off("resize",this.onResizeHandler),this.disable(),"undefined"==typeof b||b?this.container.remove():this.removeAll(!1),f.removeStylesheet(this._stylesId),this.grid&&(this.grid=null)},i.prototype.resizable=function(b,c){var d=this;return b=a(b),b.each(function(b,e){e=a(e);var f=e.data("_gridstack_node");"undefined"!=typeof f&&null!==f&&(f.noResize=!c,f.noResize||d._isOneColumnMode()?e.resizable("disable"):e.resizable("enable"))}),this},i.prototype.movable=function(b,c){var d=this;return b=a(b),b.each(function(b,e){e=a(e);var f=e.data("_gridstack_node");"undefined"!=typeof f&&null!==f&&(f.noMove=!c,f.noMove||d._isOneColumnMode()?(e.draggable("disable"),e.removeClass("ui-draggable-handle")):(e.draggable("enable"),e.addClass("ui-draggable-handle")))}),this},i.prototype.enableMove=function(a,b){this.movable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableDrag=!a)},i.prototype.enableResize=function(a,b){this.resizable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableResize=!a)},i.prototype.disable=function(){this.movable(this.container.children("."+this.opts.itemClass),!1),this.resizable(this.container.children("."+this.opts.itemClass),!1),this.container.trigger("disable")},i.prototype.enable=function(){this.movable(this.container.children("."+this.opts.itemClass),!0),this.resizable(this.container.children("."+this.opts.itemClass),!0),this.container.trigger("enable")},i.prototype.locked=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(e.locked=c||!1,d.attr("data-gs-locked",e.locked?"yes":null))}),this},i.prototype.maxHeight=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.maxHeight=c||!1,d.attr("data-gs-max-height",c)))}),this},i.prototype.minHeight=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.minHeight=c||!1,d.attr("data-gs-min-height",c)))}),this},i.prototype.maxWidth=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.maxWidth=c||!1,d.attr("data-gs-max-width",c)))}),this},i.prototype.minWidth=function(b,c){return b=a(b),b.each(function(b,d){d=a(d);var e=d.data("_gridstack_node");"undefined"!=typeof e&&null!==e&&(isNaN(c)||(e.minWidth=c||!1,d.attr("data-gs-min-width",c)))}),this},i.prototype._updateElement=function(b,c){b=a(b).first();var d=b.data("_gridstack_node");if("undefined"!=typeof d&&null!==d){var e=this;e.grid.cleanNodes(),e.grid.beginUpdate(d),c.call(this,b,d),e._updateContainerHeight(),e._triggerChangeEvent(),e.grid.endUpdate()}},i.prototype.resize=function(a,b,c){this._updateElement(a,function(a,d){b=null!==b&&"undefined"!=typeof b?b:d.width,c=null!==c&&"undefined"!=typeof c?c:d.height,this.grid.moveNode(d,d.x,d.y,b,c)})},i.prototype.move=function(a,b,c){this._updateElement(a,function(a,d){b=null!==b&&"undefined"!=typeof b?b:d.x,c=null!==c&&"undefined"!=typeof c?c:d.y,this.grid.moveNode(d,b,c,d.width,d.height)})},i.prototype.update=function(a,b,c,d,e){this._updateElement(a,function(a,f){b=null!==b&&"undefined"!=typeof b?b:f.x,c=null!==c&&"undefined"!=typeof c?c:f.y,d=null!==d&&"undefined"!=typeof d?d:f.width,e=null!==e&&"undefined"!=typeof e?e:f.height,this.grid.moveNode(f,b,c,d,e)})},i.prototype.verticalMargin=function(a,b){if("undefined"==typeof a)return this.opts.verticalMargin;var c=f.parseHeight(a);this.opts.verticalMarginUnit===c.unit&&this.opts.height===c.height||(this.opts.verticalMarginUnit=c.unit,this.opts.verticalMargin=c.height,b||this._updateStyles())},i.prototype.cellHeight=function(a,b){if("undefined"==typeof a){if(this.opts.cellHeight)return this.opts.cellHeight;var c=this.container.children("."+this.opts.itemClass).first();return Math.ceil(c.outerHeight()/c.attr("data-gs-height"))}var d=f.parseHeight(a);this.opts.cellHeightUnit===d.heightUnit&&this.opts.height===d.height||(this.opts.cellHeightUnit=d.unit,this.opts.cellHeight=d.height,b||this._updateStyles())},i.prototype.cellWidth=function(){var a=this.container.children("."+this.opts.itemClass).first();return Math.ceil(a.outerWidth()/parseInt(a.attr("data-gs-width"),10))},i.prototype.getCellFromPixel=function(a,b){var c="undefined"!=typeof b&&b?this.container.offset():this.container.position(),d=a.left-c.left,e=a.top-c.top,f=Math.floor(this.container.width()/this.opts.width),g=Math.floor(this.container.height()/parseInt(this.container.attr("data-gs-current-height")));return{x:Math.floor(d/f),y:Math.floor(e/g)}},i.prototype.batchUpdate=function(){this.grid.batchUpdate()},i.prototype.commit=function(){this.grid.commit(),this._updateContainerHeight()},i.prototype.isAreaEmpty=function(a,b,c,d){return this.grid.isAreaEmpty(a,b,c,d)},i.prototype.setStatic=function(a){this.opts.staticGrid=a===!0,this.enableMove(!a),this.enableResize(!a),this._setStaticClass()},i.prototype._setStaticClass=function(){var a="grid-stack-static";this.opts.staticGrid===!0?this.container.addClass(a):this.container.removeClass(a)},i.prototype._updateNodeWidths=function(a,b){this.grid._sortNodes(),this.grid.batchUpdate();for(var c={},d=0;d Date: Mon, 29 Feb 2016 23:53:59 -0800 Subject: [PATCH 12/15] Allow negative numbers to be passed to parseHeight function test case --- dist/gridstack.js | 2 +- spec/utils-spec.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 6e61887..f537d10 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -99,7 +99,7 @@ var height = val; var heightUnit = 'px'; if (height && _.isString(height)) { - var match = height.match(/^([0-9]*\.[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/); + var match = height.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/); if (!match) { throw new Error('Invalid height'); } diff --git a/spec/utils-spec.js b/spec/utils-spec.js index d383e77..3b2b73b 100644 --- a/spec/utils-spec.js +++ b/spec/utils-spec.js @@ -90,8 +90,18 @@ describe('gridstack utils', function() { expect(utils.parseHeight('12.3vh')).toEqual(jasmine.objectContaining({height: 12.3, unit: 'vh'})); expect(utils.parseHeight('12.3vw')).toEqual(jasmine.objectContaining({height: 12.3, unit: 'vw'})); expect(utils.parseHeight('12.5')).toEqual(jasmine.objectContaining({height: 12.5, unit: 'px'})); - expect(function() { utils.parseHeight('12.5 df'); }).toThrowError('Invalid height'); }); + it('should parse negative height value', function() { + expect(utils.parseHeight(-12)).toEqual(jasmine.objectContaining({height: -12, unit: 'px'})); + expect(utils.parseHeight('-12px')).toEqual(jasmine.objectContaining({height: -12, unit: 'px'})); + expect(utils.parseHeight('-12.3px')).toEqual(jasmine.objectContaining({height: -12.3, unit: 'px'})); + expect(utils.parseHeight('-12.3em')).toEqual(jasmine.objectContaining({height: -12.3, unit: 'em'})); + expect(utils.parseHeight('-12.3rem')).toEqual(jasmine.objectContaining({height: -12.3, unit: 'rem'})); + expect(utils.parseHeight('-12.3vh')).toEqual(jasmine.objectContaining({height: -12.3, unit: 'vh'})); + expect(utils.parseHeight('-12.3vw')).toEqual(jasmine.objectContaining({height: -12.3, unit: 'vw'})); + expect(utils.parseHeight('-12.5')).toEqual(jasmine.objectContaining({height: -12.5, unit: 'px'})); + expect(function() { utils.parseHeight('-12.5 df'); }).toThrowError('Invalid height'); + }); }); }); From ff0c00bc34fa67d6f36d8cdc66e767ae3aba689b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Kremser?= Date: Mon, 29 Feb 2016 23:56:17 -0800 Subject: [PATCH 13/15] Allow negative numbers to be passed to parseHeight function test case fix --- spec/utils-spec.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/utils-spec.js b/spec/utils-spec.js index 3b2b73b..0992767 100644 --- a/spec/utils-spec.js +++ b/spec/utils-spec.js @@ -90,6 +90,8 @@ describe('gridstack utils', function() { expect(utils.parseHeight('12.3vh')).toEqual(jasmine.objectContaining({height: 12.3, unit: 'vh'})); expect(utils.parseHeight('12.3vw')).toEqual(jasmine.objectContaining({height: 12.3, unit: 'vw'})); expect(utils.parseHeight('12.5')).toEqual(jasmine.objectContaining({height: 12.5, unit: 'px'})); + expect(function() { utils.parseHeight('12.5 df'); }).toThrowError('Invalid height'); + }); it('should parse negative height value', function() { From 50607a9797d98ce856ec8c4ee1e140928a88cf3a Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Tue, 1 Mar 2016 00:00:01 -0800 Subject: [PATCH 14/15] build dist --- dist/gridstack.min.js | 2 +- dist/gridstack.min.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index fccbb98..35d8782 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -5,7 +5,7 @@ * gridstack.js may be freely distributed under the MIT license. * @preserve */ -!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/core","jquery-ui/widget","jquery-ui/mouse","jquery-ui/draggable","jquery-ui/resizable"],a);else if("undefined"!=typeof exports){try{jQuery=require("jquery")}catch(b){}try{_=require("lodash")}catch(b){}a(jQuery,_)}else a(jQuery,_)}(function(a,b){var c=window,d=function(a,b,c){var d=function(){return console.warn("gridstack.js: Function `"+b+"` is deprecated as of v0.2.5 and has been replaced with `"+c+"`. It will be **completely** removed in v1.0."),a.apply(this,arguments)};return d.prototype=a.prototype,d},e=function(a,b){console.warn("gridstack.js: Option `"+a+"` is deprecated as of v0.2.5 and has been replaced with `"+b+"`. It will be **completely** removed in v1.0.")},f={isIntercepted:function(a,b){return!(a.x+a.width<=b.x||b.x+b.width<=a.x||a.y+a.height<=b.y||b.y+b.height<=a.y)},sort:function(a,c,d){return d=d||b.chain(a).map(function(a){return a.x+a.width}).max().value(),c=-1!=c?1:-1,b.sortBy(a,function(a){return c*(a.x+a.y*d)})},createStylesheet:function(a){var b=document.createElement("style");return b.setAttribute("type","text/css"),b.setAttribute("data-gs-style-id",a),b.styleSheet?b.styleSheet.cssText="":b.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(b),b.sheet},removeStylesheet:function(b){a("STYLE[data-gs-style-id="+b+"]").remove()},insertCSSRule:function(a,b,c,d){"function"==typeof a.insertRule?a.insertRule(b+"{"+c+"}",d):"function"==typeof a.addRule&&a.addRule(b,c,d)},toBool:function(a){return"boolean"==typeof a?a:"string"==typeof a?(a=a.toLowerCase(),!(""===a||"no"==a||"false"==a||"0"==a)):Boolean(a)},_collisionNodeCheck:function(a){return a!=this.node&&f.isIntercepted(a,this.nn)},_didCollide:function(a){return f.isIntercepted({x:this.n.x,y:this.newY,width:this.n.width,height:this.n.height},a)},_isAddNodeIntercepted:function(a){return f.isIntercepted({x:this.x,y:this.y,width:this.node.width,height:this.node.height},a)},parseHeight:function(a){var c=a,d="px";if(c&&b.isString(c)){var e=c.match(/^([0-9]*\.[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/);if(!e)throw new Error("Invalid height");d=e[2]||"px",c=parseFloat(e[1])}return{height:c,unit:d}}}; +!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/core","jquery-ui/widget","jquery-ui/mouse","jquery-ui/draggable","jquery-ui/resizable"],a);else if("undefined"!=typeof exports){try{jQuery=require("jquery")}catch(b){}try{_=require("lodash")}catch(b){}a(jQuery,_)}else a(jQuery,_)}(function(a,b){var c=window,d=function(a,b,c){var d=function(){return console.warn("gridstack.js: Function `"+b+"` is deprecated as of v0.2.5 and has been replaced with `"+c+"`. It will be **completely** removed in v1.0."),a.apply(this,arguments)};return d.prototype=a.prototype,d},e=function(a,b){console.warn("gridstack.js: Option `"+a+"` is deprecated as of v0.2.5 and has been replaced with `"+b+"`. It will be **completely** removed in v1.0.")},f={isIntercepted:function(a,b){return!(a.x+a.width<=b.x||b.x+b.width<=a.x||a.y+a.height<=b.y||b.y+b.height<=a.y)},sort:function(a,c,d){return d=d||b.chain(a).map(function(a){return a.x+a.width}).max().value(),c=-1!=c?1:-1,b.sortBy(a,function(a){return c*(a.x+a.y*d)})},createStylesheet:function(a){var b=document.createElement("style");return b.setAttribute("type","text/css"),b.setAttribute("data-gs-style-id",a),b.styleSheet?b.styleSheet.cssText="":b.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(b),b.sheet},removeStylesheet:function(b){a("STYLE[data-gs-style-id="+b+"]").remove()},insertCSSRule:function(a,b,c,d){"function"==typeof a.insertRule?a.insertRule(b+"{"+c+"}",d):"function"==typeof a.addRule&&a.addRule(b,c,d)},toBool:function(a){return"boolean"==typeof a?a:"string"==typeof a?(a=a.toLowerCase(),!(""===a||"no"==a||"false"==a||"0"==a)):Boolean(a)},_collisionNodeCheck:function(a){return a!=this.node&&f.isIntercepted(a,this.nn)},_didCollide:function(a){return f.isIntercepted({x:this.n.x,y:this.newY,width:this.n.width,height:this.n.height},a)},_isAddNodeIntercepted:function(a){return f.isIntercepted({x:this.x,y:this.y,width:this.node.width,height:this.node.height},a)},parseHeight:function(a){var c=a,d="px";if(c&&b.isString(c)){var e=c.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw)?$/);if(!e)throw new Error("Invalid height");d=e[2]||"px",c=parseFloat(e[1])}return{height:c,unit:d}}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers f.is_intercepted=d(f.isIntercepted,"is_intercepted","isIntercepted"),f.create_stylesheet=d(f.createStylesheet,"create_stylesheet","createStylesheet"),f.remove_stylesheet=d(f.removeStylesheet,"remove_stylesheet","removeStylesheet"),f.insert_css_rule=d(f.insertCSSRule,"insert_css_rule","insertCSSRule"); // jscs:enable requireCamelCaseOrUpperCaseIdentifiers diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index 714b860..ccfdb2e 100644 --- a/dist/gridstack.min.map +++ b/dist/gridstack.min.map @@ -1 +1 @@ -{"version":3,"sources":["../src/gridstack.js"],"names":["factory","define","amd","exports","jQuery","require","e","_","$","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","this","arguments","prototype","obsoleteOpts","Utils","isIntercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","createStylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","removeStylesheet","remove","insertCSSRule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","_collisionNodeCheck","nn","_didCollide","bn","newY","_isAddNodeIntercepted","parseHeight","val","heightUnit","isString","match","Error","parseFloat","unit","is_intercepted","create_stylesheet","remove_stylesheet","insert_css_rule","idSeq","GridStackEngine","onchange","floatMode","items","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","el","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","deletedNodes","Array","slice","call","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","clonedNode","extend","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","opts","oneColumnMode","isAutoCellHeight","self","container","handle_class","handleClass","item_class","itemClass","placeholder_class","placeholderClass","placeholder_text","placeholderText","cell_height","cellHeight","vertical_margin","verticalMargin","min_width","static_grid","staticGrid","is_nested","isNested","always_show_resize_handle","alwaysShowResizeHandle","closest","size","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","resize","trashZone","data","droppable","accept","on","event","ui","_grid","_setupRemovingTimeout","_clearRemovingTimeout","acceptWidgets","draggingElement","onDrag","pos","getCellFromPixel","offset","_added","show","_beforeDragX","_beforeDragY","is","over","origNode","ceil","outerWidth","outerHeight","_temporary","out","unbind","detach","drop","removeAttr","enableSelection","removeData","removeClass","_prepareElementByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","length","trigger","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","cellHeightUnit","verticalMarginUnit","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","containment","parent","start","stop","drag","enable","addWidget","makeWidget","willItFit","removeWidget","removeAll","destroy","detachGrid","off","disable","movable","enableMove","doEnable","includeNewWidgets","enableResize","isNaN","_updateElement","callback","first","move","update","noUpdate","heightData","useOffset","containerPos","relativeLeft","relativeTop","columnWidth","rowHeight","setStatic","staticValue","staticClassName","_updateNodeWidths","oldWidth","newWidth","undefined","setGridWidth","gridWidth","doNotPropagate","batch_update","_fix_collisions","is_area_empty","_sort_nodes","_pack_nodes","_prepare_node","clean_nodes","get_dirty_nodes","add_node","remove_node","can_move_node","move_node","get_grid_height","begin_update","end_update","can_be_placed_with_respect_to_height","_trigger_change_event","_init_styles","_update_styles","_update_container_height","_is_one_column_mode","_prepare_element","set_animation","add_widget","make_widget","will_it_fit","remove_widget","remove_all","min_height","_update_element","cell_width","get_cell_from_pixel","set_static","_set_static_class","GridStackUI","Engine","fn","gridstack"],"mappings":"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","file":"gridstack.min.js"} \ No newline at end of file +{"version":3,"sources":["../src/gridstack.js"],"names":["factory","define","amd","exports","jQuery","require","e","_","$","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","this","arguments","prototype","obsoleteOpts","Utils","isIntercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","createStylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","removeStylesheet","remove","insertCSSRule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","_collisionNodeCheck","nn","_didCollide","bn","newY","_isAddNodeIntercepted","parseHeight","val","heightUnit","isString","match","Error","parseFloat","unit","is_intercepted","create_stylesheet","remove_stylesheet","insert_css_rule","idSeq","GridStackEngine","onchange","floatMode","items","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","el","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","deletedNodes","Array","slice","call","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","clonedNode","extend","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","opts","oneColumnMode","isAutoCellHeight","self","container","handle_class","handleClass","item_class","itemClass","placeholder_class","placeholderClass","placeholder_text","placeholderText","cell_height","cellHeight","vertical_margin","verticalMargin","min_width","static_grid","staticGrid","is_nested","isNested","always_show_resize_handle","alwaysShowResizeHandle","closest","size","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","resize","trashZone","data","droppable","accept","on","event","ui","_grid","_setupRemovingTimeout","_clearRemovingTimeout","acceptWidgets","draggingElement","onDrag","pos","getCellFromPixel","offset","_added","show","_beforeDragX","_beforeDragY","is","over","origNode","ceil","outerWidth","outerHeight","_temporary","out","unbind","detach","drop","removeAttr","enableSelection","removeData","removeClass","_prepareElementByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","length","trigger","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","cellHeightUnit","verticalMarginUnit","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","containment","parent","start","stop","drag","enable","addWidget","makeWidget","willItFit","removeWidget","removeAll","destroy","detachGrid","off","disable","movable","enableMove","doEnable","includeNewWidgets","enableResize","isNaN","_updateElement","callback","first","move","update","noUpdate","heightData","useOffset","containerPos","relativeLeft","relativeTop","columnWidth","rowHeight","setStatic","staticValue","staticClassName","_updateNodeWidths","oldWidth","newWidth","undefined","setGridWidth","gridWidth","doNotPropagate","batch_update","_fix_collisions","is_area_empty","_sort_nodes","_pack_nodes","_prepare_node","clean_nodes","get_dirty_nodes","add_node","remove_node","can_move_node","move_node","get_grid_height","begin_update","end_update","can_be_placed_with_respect_to_height","_trigger_change_event","_init_styles","_update_styles","_update_container_height","_is_one_column_mode","_prepare_element","set_animation","add_widget","make_widget","will_it_fit","remove_widget","remove_all","min_height","_update_element","cell_width","get_cell_from_pixel","set_static","_set_static_class","GridStackUI","Engine","fn","gridstack"],"mappings":"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","file":"gridstack.min.js"} \ No newline at end of file From c14473fab197c10b445a910478592cae22a57c42 Mon Sep 17 00:00:00 2001 From: d Date: Tue, 1 Mar 2016 11:20:03 -0500 Subject: [PATCH 15/15] Update dist. --- dist/gridstack.js | 4 ---- dist/gridstack.min.js | 2 +- dist/gridstack.min.map | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index d4066f8..f3881e9 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -477,10 +477,6 @@ opts.placeholderText = opts.placeholder_text; obsoleteOpts('placeholder_text', 'placeholderText'); } - if (typeof opts.item_class !== 'undefined') { - opts.itemClass = opts.item_class; - obsoleteOpts('item_class', 'itemClass'); - } if (typeof opts.cell_height !== 'undefined') { opts.cellHeight = opts.cell_height; obsoleteOpts('cell_height', 'cellHeight'); diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 35d8782..7c1cd49 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -11,7 +11,7 @@ f.is_intercepted=d(f.isIntercepted,"is_intercepted","isIntercepted"),f.create_st // jscs:enable requireCamelCaseOrUpperCaseIdentifiers var g=0,h=function(a,b,c,d,e){this.width=a,this["float"]=c||!1,this.height=d||0,this.nodes=e||[],this.onchange=b||function(){},this._updateCounter=0,this._float=this["float"],this._addedNodes=[],this._removedNodes=[]};h.prototype.batchUpdate=function(){this._updateCounter=1,this["float"]=!0},h.prototype.commit=function(){0!==this._updateCounter&&(this._updateCounter=0,this["float"]=this._float,this._packNodes(),this._notify())}, // For Meteor support: https://github.com/troolee/gridstack.js/pull/272 -h.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},h.prototype._fixCollisions=function(a){this._sortNodes(-1);var c=a,d=Boolean(b.find(this.nodes,function(a){return a.locked}));for(this["float"]||d||(c={x:0,y:a.y,width:this.width,height:a.height});;){var e=b.find(this.nodes,b.bind(f._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},h.prototype.isAreaEmpty=function(a,c,d,e){var g={x:a||0,y:c||0,width:d||1,height:e||1},h=b.find(this.nodes,b.bind(function(a){return f.isIntercepted(a,g)},this));return null===h||"undefined"==typeof h},h.prototype._sortNodes=function(a){this.nodes=f.sort(this.nodes,a,this.width)},h.prototype._packNodes=function(){this._sortNodes(),this["float"]?b.each(this.nodes,b.bind(function(a,c){if(!a._updating&&"undefined"!=typeof a._origY&&a.y!=a._origY)for(var d=a.y;d>=a._origY;){var e=b.chain(this.nodes).find(b.bind(f._didCollide,{n:a,newY:d})).value();e||(a._dirty=!0,a.y=d),--d}},this)):b.each(this.nodes,b.bind(function(a,c){if(!a.locked)for(;a.y>0;){var d=a.y-1,e=0===c;if(c>0){var g=b.chain(this.nodes).take(c).find(b.bind(f._didCollide,{n:a,newY:d})).value();e="undefined"==typeof g}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},h.prototype._prepareNode=function(a,c){return a=b.defaults(a||{},{width:1,height:1,x:0,y:0}),a.x=parseInt(""+a.x),a.y=parseInt(""+a.y),a.width=parseInt(""+a.width),a.height=parseInt(""+a.height),a.autoPosition=a.autoPosition||!1,a.noResize=a.noResize||!1,a.noMove=a.noMove||!1,a.width>this.width?a.width=this.width:a.width<1&&(a.width=1),a.height<1&&(a.height=1),a.x<0&&(a.x=0),a.x+a.width>this.width&&(c?a.width=this.width-a.x:a.x=this.width-a.width),a.y<0&&(a.y=0),a},h.prototype._notify=function(){if(!this._updateCounter){var a=Array.prototype.slice.call(arguments,0);a=a.concat(this.getDirtyNodes()),this.onchange(a)}},h.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},h.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},h.prototype.addNode=function(a,c){if(a=this._prepareNode(a),"undefined"!=typeof a.maxWidth&&(a.width=Math.min(a.width,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(a.height=Math.min(a.height,a.maxHeight)),"undefined"!=typeof a.minWidth&&(a.width=Math.max(a.width,a.minWidth)),"undefined"!=typeof a.minHeight&&(a.height=Math.max(a.height,a.minHeight)),a._id=++g,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,h=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(f._isAddNodeIntercepted,{x:e,y:h,node:a})))){a.x=e,a.y=h;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},h.prototype.removeNode=function(a,c){c="undefined"==typeof c?!0:c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),c&&this._notify(a)},h.prototype.canMoveNode=function(c,d,e,f,g){var i=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!i)return!0;var j,k=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return b==c?j=a.extend({},b):a.extend({},b)}));k.moveNode(j,d,e,f,g);var l=!0;return i&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=j&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},h.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},h.prototype.moveNode=function(a,b,c,d,e,f){if("number"!=typeof b&&(b=a.x),"number"!=typeof c&&(c=a.y),"number"!=typeof d&&(d=a.width),"number"!=typeof e&&(e=a.height),"undefined"!=typeof a.maxWidth&&(d=Math.min(d,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(e=Math.min(e,a.maxHeight)),"undefined"!=typeof a.minWidth&&(d=Math.max(d,a.minWidth)),"undefined"!=typeof a.minHeight&&(e=Math.max(e,a.minHeight)),a.x==b&&a.y==c&&a.width==d&&a.height==e)return a;var g=a.width!=d;return a._dirty=!0,a.x=b,a.y=c,a.width=d,a.height=e,a=this._prepareNode(a,g),this._fixCollisions(a),f||(this._packNodes(),this._notify()),a},h.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},h.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},h.prototype.endUpdate=function(){b.each(this.nodes,function(a){a._origY=a.y});var a=b.find(this.nodes,function(a){return a._updating});a&&(a._updating=!1)};var i=function(c,d){var f,g,i=this;d=d||{},this.container=a(c),"undefined"!=typeof d.handle_class&&(d.handleClass=d.handle_class,e("handle_class","handleClass")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.placeholder_class&&(d.placeholderClass=d.placeholder_class,e("placeholder_class","placeholderClass")),"undefined"!=typeof d.placeholder_text&&(d.placeholderText=d.placeholder_text,e("placeholder_text","placeholderText")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.cell_height&&(d.cellHeight=d.cell_height,e("cell_height","cellHeight")),"undefined"!=typeof d.vertical_margin&&(d.verticalMargin=d.vertical_margin,e("vertical_margin","verticalMargin")),"undefined"!=typeof d.min_width&&(d.minWidth=d.min_width,e("min_width","minWidth")),"undefined"!=typeof d.static_grid&&(d.staticGrid=d.static_grid,e("static_grid","staticGrid")),"undefined"!=typeof d.is_nested&&(d.isNested=d.is_nested,e("is_nested","isNested")),"undefined"!=typeof d.always_show_resize_handle&&(d.alwaysShowResizeHandle=d.always_show_resize_handle,e("always_show_resize_handle","alwaysShowResizeHandle")),d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).size()>0;if(this.opts=b.defaults(d||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,cellHeight:60,verticalMargin:20,auto:!0,minWidth:768,"float":!1,staticGrid:!1,_class:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,alwaysShowResizeHandle:d.alwaysShowResizeHandle||!1,resizable:b.defaults(d.resizable||{},{autoHide:!d.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(d.draggable||{},{handle:(d.handleClass?"."+d.handleClass:d.handle?d.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:d.disableDrag||!1,disableResize:d.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3}),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=j,g="auto"===this.opts.cellHeight,g?i.cellHeight(i.cellWidth(),!0):this.cellHeight(this.opts.cellHeight,!0),this.verticalMargin(this.opts.verticalMargin,!0),this.container.addClass(this.opts._class),this._setStaticClass(),j&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new h(this.opts.width,function(a){var c=0;b.each(a,function(a){null===a._id?a.el&&a.el.remove():(a.el.attr("data-gs-x",a.x).attr("data-gs-y",a.y).attr("data-gs-width",a.width).attr("data-gs-height",a.height),c=Math.max(c,a.y+a.height))}),i._updateStyles(c+10)},this.opts["float"],this.opts.height),this.opts.auto){var k=[],l=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),k.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*l.opts.width})}),b.chain(k).sortBy(function(a){return a.i}).each(function(a){i._prepareElement(a.el)}).value()}if(this.setAnimation(this.opts.animate),this.placeholder=a('
'+this.opts.placeholderText+"
").hide(),this._updateContainerHeight(),this._updateHeightsOnResize=b.throttle(function(){i.cellHeight(i.cellWidth(),!1)},100),this.onResizeHandler=function(){if(g&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;f=!0,i.grid._sortNodes(),b.each(i.grid.nodes,function(a){i.container.append(a.el),i.opts.staticGrid||((a.noMove||i.opts.disableDrag)&&a.el.draggable("disable"),(a.noResize||i.opts.disableResize)&&a.el.resizable("disable"))})}else{if(!f)return;if(f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||a.el.draggable("enable"),a.noResize||i.opts.disableResize||a.el.resizable("enable")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),"string"==typeof i.opts.removable){var m=a(i.opts.removable);m.data("droppable")||m.droppable({accept:"."+i.opts.itemClass}),m.on("dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on("dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(i.opts.acceptWidgets){var n=null,o=function(a,b){var c=n,d=c.data("_gridstack_node"),e=i.getCellFromPixel(b.offset,!0),f=Math.max(0,e.x),g=Math.max(0,e.y);if(d._added){if(!i.grid.canMoveNode(d,f,g))return;i.grid.moveNode(d,f,g),i._updateContainerHeight()}else d._added=!0,d.el=c,d.x=f,d.y=g,i.grid.cleanNodes(),i.grid.beginUpdate(d),i.grid.addNode(d),i.container.append(i.placeholder),i.placeholder.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).show(),d.el=i.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,i._updateContainerHeight()};a(i.container).droppable({accept:function(b){b=a(b);var c=b.data("_gridstack_node");return c&&c._grid===i?!1:b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)},over:function(b,c){var d=(i.container.offset(),a(c.draggable)),e=i.cellWidth(),f=i.cellHeight(),g=d.data("_gridstack_node"),h=g?g.width:Math.ceil(d.outerWidth()/e),j=g?g.height:Math.ceil(d.outerHeight()/f);n=d;var k=i.grid._prepareNode({width:h,height:j,_added:!1,_temporary:!0});d.data("_gridstack_node",k),d.data("_gridstack_node_orig",g),d.on("drag",o)},out:function(b,c){var d=a(c.draggable);d.unbind("drag",o);var e=d.data("_gridstack_node");e.el=null,i.grid.removeNode(e),i.placeholder.detach(),i._updateContainerHeight(),d.data("_gridstack_node",d.data("_gridstack_node_orig"))},drop:function(b,c){i.placeholder.detach();var d=a(c.draggable).data("_gridstack_node");d._grid=i;var e=a(c.draggable).clone(!1);e.data("_gridstack_node",d),a(c.draggable).remove(),d.el=e,i.placeholder.hide(),e.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).addClass(i.opts.itemClass).removeAttr("style").enableSelection().removeData("draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled").unbind("drag",o),i.container.append(e),i._prepareElementByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; +h.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},h.prototype._fixCollisions=function(a){this._sortNodes(-1);var c=a,d=Boolean(b.find(this.nodes,function(a){return a.locked}));for(this["float"]||d||(c={x:0,y:a.y,width:this.width,height:a.height});;){var e=b.find(this.nodes,b.bind(f._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},h.prototype.isAreaEmpty=function(a,c,d,e){var g={x:a||0,y:c||0,width:d||1,height:e||1},h=b.find(this.nodes,b.bind(function(a){return f.isIntercepted(a,g)},this));return null===h||"undefined"==typeof h},h.prototype._sortNodes=function(a){this.nodes=f.sort(this.nodes,a,this.width)},h.prototype._packNodes=function(){this._sortNodes(),this["float"]?b.each(this.nodes,b.bind(function(a,c){if(!a._updating&&"undefined"!=typeof a._origY&&a.y!=a._origY)for(var d=a.y;d>=a._origY;){var e=b.chain(this.nodes).find(b.bind(f._didCollide,{n:a,newY:d})).value();e||(a._dirty=!0,a.y=d),--d}},this)):b.each(this.nodes,b.bind(function(a,c){if(!a.locked)for(;a.y>0;){var d=a.y-1,e=0===c;if(c>0){var g=b.chain(this.nodes).take(c).find(b.bind(f._didCollide,{n:a,newY:d})).value();e="undefined"==typeof g}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},h.prototype._prepareNode=function(a,c){return a=b.defaults(a||{},{width:1,height:1,x:0,y:0}),a.x=parseInt(""+a.x),a.y=parseInt(""+a.y),a.width=parseInt(""+a.width),a.height=parseInt(""+a.height),a.autoPosition=a.autoPosition||!1,a.noResize=a.noResize||!1,a.noMove=a.noMove||!1,a.width>this.width?a.width=this.width:a.width<1&&(a.width=1),a.height<1&&(a.height=1),a.x<0&&(a.x=0),a.x+a.width>this.width&&(c?a.width=this.width-a.x:a.x=this.width-a.width),a.y<0&&(a.y=0),a},h.prototype._notify=function(){if(!this._updateCounter){var a=Array.prototype.slice.call(arguments,0);a=a.concat(this.getDirtyNodes()),this.onchange(a)}},h.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},h.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},h.prototype.addNode=function(a,c){if(a=this._prepareNode(a),"undefined"!=typeof a.maxWidth&&(a.width=Math.min(a.width,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(a.height=Math.min(a.height,a.maxHeight)),"undefined"!=typeof a.minWidth&&(a.width=Math.max(a.width,a.minWidth)),"undefined"!=typeof a.minHeight&&(a.height=Math.max(a.height,a.minHeight)),a._id=++g,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,h=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(f._isAddNodeIntercepted,{x:e,y:h,node:a})))){a.x=e,a.y=h;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},h.prototype.removeNode=function(a,c){c="undefined"==typeof c?!0:c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),c&&this._notify(a)},h.prototype.canMoveNode=function(c,d,e,f,g){var i=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!i)return!0;var j,k=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return b==c?j=a.extend({},b):a.extend({},b)}));k.moveNode(j,d,e,f,g);var l=!0;return i&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=j&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},h.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new h(this.width,null,this["float"],0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},h.prototype.moveNode=function(a,b,c,d,e,f){if("number"!=typeof b&&(b=a.x),"number"!=typeof c&&(c=a.y),"number"!=typeof d&&(d=a.width),"number"!=typeof e&&(e=a.height),"undefined"!=typeof a.maxWidth&&(d=Math.min(d,a.maxWidth)),"undefined"!=typeof a.maxHeight&&(e=Math.min(e,a.maxHeight)),"undefined"!=typeof a.minWidth&&(d=Math.max(d,a.minWidth)),"undefined"!=typeof a.minHeight&&(e=Math.max(e,a.minHeight)),a.x==b&&a.y==c&&a.width==d&&a.height==e)return a;var g=a.width!=d;return a._dirty=!0,a.x=b,a.y=c,a.width=d,a.height=e,a=this._prepareNode(a,g),this._fixCollisions(a),f||(this._packNodes(),this._notify()),a},h.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},h.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},h.prototype.endUpdate=function(){b.each(this.nodes,function(a){a._origY=a.y});var a=b.find(this.nodes,function(a){return a._updating});a&&(a._updating=!1)};var i=function(c,d){var f,g,i=this;d=d||{},this.container=a(c),"undefined"!=typeof d.handle_class&&(d.handleClass=d.handle_class,e("handle_class","handleClass")),"undefined"!=typeof d.item_class&&(d.itemClass=d.item_class,e("item_class","itemClass")),"undefined"!=typeof d.placeholder_class&&(d.placeholderClass=d.placeholder_class,e("placeholder_class","placeholderClass")),"undefined"!=typeof d.placeholder_text&&(d.placeholderText=d.placeholder_text,e("placeholder_text","placeholderText")),"undefined"!=typeof d.cell_height&&(d.cellHeight=d.cell_height,e("cell_height","cellHeight")),"undefined"!=typeof d.vertical_margin&&(d.verticalMargin=d.vertical_margin,e("vertical_margin","verticalMargin")),"undefined"!=typeof d.min_width&&(d.minWidth=d.min_width,e("min_width","minWidth")),"undefined"!=typeof d.static_grid&&(d.staticGrid=d.static_grid,e("static_grid","staticGrid")),"undefined"!=typeof d.is_nested&&(d.isNested=d.is_nested,e("is_nested","isNested")),"undefined"!=typeof d.always_show_resize_handle&&(d.alwaysShowResizeHandle=d.always_show_resize_handle,e("always_show_resize_handle","alwaysShowResizeHandle")),d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).size()>0;if(this.opts=b.defaults(d||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,cellHeight:60,verticalMargin:20,auto:!0,minWidth:768,"float":!1,staticGrid:!1,_class:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,alwaysShowResizeHandle:d.alwaysShowResizeHandle||!1,resizable:b.defaults(d.resizable||{},{autoHide:!d.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(d.draggable||{},{handle:(d.handleClass?"."+d.handleClass:d.handle?d.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:d.disableDrag||!1,disableResize:d.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3}),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=j,g="auto"===this.opts.cellHeight,g?i.cellHeight(i.cellWidth(),!0):this.cellHeight(this.opts.cellHeight,!0),this.verticalMargin(this.opts.verticalMargin,!0),this.container.addClass(this.opts._class),this._setStaticClass(),j&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new h(this.opts.width,function(a){var c=0;b.each(a,function(a){null===a._id?a.el&&a.el.remove():(a.el.attr("data-gs-x",a.x).attr("data-gs-y",a.y).attr("data-gs-width",a.width).attr("data-gs-height",a.height),c=Math.max(c,a.y+a.height))}),i._updateStyles(c+10)},this.opts["float"],this.opts.height),this.opts.auto){var k=[],l=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),k.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*l.opts.width})}),b.chain(k).sortBy(function(a){return a.i}).each(function(a){i._prepareElement(a.el)}).value()}if(this.setAnimation(this.opts.animate),this.placeholder=a('
'+this.opts.placeholderText+"
").hide(),this._updateContainerHeight(),this._updateHeightsOnResize=b.throttle(function(){i.cellHeight(i.cellWidth(),!1)},100),this.onResizeHandler=function(){if(g&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;f=!0,i.grid._sortNodes(),b.each(i.grid.nodes,function(a){i.container.append(a.el),i.opts.staticGrid||((a.noMove||i.opts.disableDrag)&&a.el.draggable("disable"),(a.noResize||i.opts.disableResize)&&a.el.resizable("disable"))})}else{if(!f)return;if(f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||a.el.draggable("enable"),a.noResize||i.opts.disableResize||a.el.resizable("enable")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),"string"==typeof i.opts.removable){var m=a(i.opts.removable);m.data("droppable")||m.droppable({accept:"."+i.opts.itemClass}),m.on("dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on("dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(i.opts.acceptWidgets){var n=null,o=function(a,b){var c=n,d=c.data("_gridstack_node"),e=i.getCellFromPixel(b.offset,!0),f=Math.max(0,e.x),g=Math.max(0,e.y);if(d._added){if(!i.grid.canMoveNode(d,f,g))return;i.grid.moveNode(d,f,g),i._updateContainerHeight()}else d._added=!0,d.el=c,d.x=f,d.y=g,i.grid.cleanNodes(),i.grid.beginUpdate(d),i.grid.addNode(d),i.container.append(i.placeholder),i.placeholder.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).show(),d.el=i.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,i._updateContainerHeight()};a(i.container).droppable({accept:function(b){b=a(b);var c=b.data("_gridstack_node");return c&&c._grid===i?!1:b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)},over:function(b,c){var d=(i.container.offset(),a(c.draggable)),e=i.cellWidth(),f=i.cellHeight(),g=d.data("_gridstack_node"),h=g?g.width:Math.ceil(d.outerWidth()/e),j=g?g.height:Math.ceil(d.outerHeight()/f);n=d;var k=i.grid._prepareNode({width:h,height:j,_added:!1,_temporary:!0});d.data("_gridstack_node",k),d.data("_gridstack_node_orig",g),d.on("drag",o)},out:function(b,c){var d=a(c.draggable);d.unbind("drag",o);var e=d.data("_gridstack_node");e.el=null,i.grid.removeNode(e),i.placeholder.detach(),i._updateContainerHeight(),d.data("_gridstack_node",d.data("_gridstack_node_orig"))},drop:function(b,c){i.placeholder.detach();var d=a(c.draggable).data("_gridstack_node");d._grid=i;var e=a(c.draggable).clone(!1);e.data("_gridstack_node",d),a(c.draggable).remove(),d.el=e,i.placeholder.hide(),e.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).addClass(i.opts.itemClass).removeAttr("style").enableSelection().removeData("draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled").unbind("drag",o),i.container.append(e),i._prepareElementByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers // jscs:enable requireCamelCaseOrUpperCaseIdentifiers return i.prototype._triggerChangeEvent=function(a){var b=this.grid.getDirtyNodes(),c=!1,d=[];b&&b.length&&(d.push(b),c=!0),(c||a===!0)&&this.container.trigger("change",d)},i.prototype._triggerAddEvent=function(){this.grid._addedNodes&&this.grid._addedNodes.length>0&&(this.container.trigger("added",[b.map(this.grid._addedNodes,b.clone)]),this.grid._addedNodes=[])},i.prototype._triggerRemoveEvent=function(){this.grid._removedNodes&&this.grid._removedNodes.length>0&&(this.container.trigger("removed",[b.map(this.grid._removedNodes,b.clone)]),this.grid._removedNodes=[])},i.prototype._initStyles=function(){this._stylesId&&f.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=f.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},i.prototype._updateStyles=function(a){if(null!==this._styles&&"undefined"!=typeof this._styles){var b,c="."+this.opts._class+" ."+this.opts.itemClass,d=this;if("undefined"==typeof a&&(a=this._styles._max,this._initStyles(),this._updateContainerHeight()),this.opts.cellHeight&&!(0!==this._styles._max&&a<=this._styles._max)&&(b=this.opts.verticalMargin&&this.opts.cellHeightUnit!==this.opts.verticalMarginUnit?function(a,b){return a&&b?"calc("+(d.opts.cellHeight*a+d.opts.cellHeightUnit)+" + "+(d.opts.verticalMargin*b+d.opts.verticalMarginUnit)+")":d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit}:function(a,b){return d.opts.cellHeight*a+d.opts.verticalMargin*b+d.opts.cellHeightUnit},0===this._styles._max&&f.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;a>e;++e)f.insertCSSRule(this._styles,c+'[data-gs-height="'+(e+1)+'"]',"height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-min-height="'+(e+1)+'"]',"min-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-max-height="'+(e+1)+'"]',"max-height: "+b(e+1,e)+";",e),f.insertCSSRule(this._styles,c+'[data-gs-y="'+e+'"]',"top: "+b(e,e)+";",e);this._styles._max=a}}},i.prototype._updateContainerHeight=function(){if(!this.grid._updateCounter){var a=this.grid.getGridHeight();this.container.attr("data-gs-current-height",a),this.opts.cellHeight&&(this.opts.verticalMargin?this.opts.cellHeightUnit===this.opts.verticalMarginUnit?this.container.css("height",a*(this.opts.cellHeight+this.opts.verticalMargin)-this.opts.verticalMargin+this.opts.cellHeightUnit):this.container.css("height","calc("+(a*this.opts.cellHeight+this.opts.cellHeightUnit)+" + "+(a*(this.opts.verticalMargin-1)+this.opts.verticalMarginUnit)+")"):this.container.css("height",a*this.opts.cellHeight+this.opts.cellHeightUnit))}},i.prototype._isOneColumnMode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.minWidth},i.prototype._setupRemovingTimeout=function(b){var c=this,d=a(b).data("_gridstack_node");!d._removeTimeout&&c.opts.removable&&(d._removeTimeout=setTimeout(function(){b.addClass("grid-stack-item-removing"),d._isAboutToRemove=!0},c.opts.removeTimeout))},i.prototype._clearRemovingTimeout=function(b){var c=a(b).data("_gridstack_node");c._removeTimeout&&(clearTimeout(c._removeTimeout),c._removeTimeout=null,b.removeClass("grid-stack-item-removing"),c._isAboutToRemove=!1)},i.prototype._prepareElementByNode=function(c,d){var e,f,g=this,h=function(a,b){var h,i,j=Math.round(b.position.left/e),k=Math.floor((b.position.top+f/2)/f);if("drag"!=a.type&&(h=Math.round(b.size.width/e),i=Math.round(b.size.height/f)),"drag"==a.type)0>j||j>=g.grid.width||0>k?(g.opts.removable===!0&&g._setupRemovingTimeout(c),j=d._beforeDragX,k=d._beforeDragY,g.placeholder.detach(),g.placeholder.hide(),g.grid.removeNode(d),g._updateContainerHeight(),d._temporaryRemoved=!0):(g._clearRemovingTimeout(c),d._temporaryRemoved&&(g.grid.addNode(d),g.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),g.container.append(g.placeholder),d.el=g.placeholder,d._temporaryRemoved=!1));else if("resize"==a.type&&0>j)return;g.grid.canMoveNode(d,j,k,h,i)&&(g.grid.moveNode(d,j,k,h,i),g._updateContainerHeight())},i=function(b,h){g.container.append(g.placeholder);var i=a(this);g.grid.cleanNodes(),g.grid.beginUpdate(d),e=Math.ceil(i.outerWidth()/i.attr("data-gs-width"));var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));f=g.container.height()/parseInt(g.container.attr("data-gs-current-height")),g.placeholder.attr("data-gs-x",i.attr("data-gs-x")).attr("data-gs-y",i.attr("data-gs-y")).attr("data-gs-width",i.attr("data-gs-width")).attr("data-gs-height",i.attr("data-gs-height")).show(),d.el=g.placeholder,d._beforeDragX=d.x,d._beforeDragY=d.y,c.resizable("option","minWidth",e*(d.minWidth||1)),c.resizable("option","minHeight",j*(d.minHeight||1)),"resizestart"==b.type&&i.find(".grid-stack-item").trigger("resizestart")},j=function(b,e){var f=a(this);if(f.data("_gridstack_node")){var h=!1;g.placeholder.detach(),d.el=f,g.placeholder.hide(),d._isAboutToRemove?(h=!0,c.removeData("_gridstack_node"),c.remove()):(g._clearRemovingTimeout(c),d._temporaryRemoved?(f.attr("data-gs-x",d._beforeDragX).attr("data-gs-y",d._beforeDragY).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style"),d.x=d._beforeDragX,d.y=d._beforeDragY,g.grid.addNode(d)):f.attr("data-gs-x",d.x).attr("data-gs-y",d.y).attr("data-gs-width",d.width).attr("data-gs-height",d.height).removeAttr("style")),g._updateContainerHeight(),g._triggerChangeEvent(h),g.grid.endUpdate();var i=f.find(".grid-stack");i.length&&"resizestop"==b.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),f.find(".grid-stack-item").trigger("resizestop"))}};c.draggable(b.extend(this.opts.draggable,{containment:this.opts.isNested?this.container.parent():null,start:i,stop:j,drag:h})).resizable(b.extend(this.opts.resizable,{start:i,stop:j,resize:h})),(d.noMove||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||this.opts.staticGrid||this.opts.disableResize)&&c.resizable("disable"),c.attr("data-gs-locked",d.locked?"yes":null)},i.prototype._prepareElement=function(b,c){c="undefined"!=typeof c?c:!1;var d=this;b=a(b),b.addClass(this.opts.itemClass);var e=d.grid.addNode({x:b.attr("data-gs-x"),y:b.attr("data-gs-y"),width:b.attr("data-gs-width"),height:b.attr("data-gs-height"),maxWidth:b.attr("data-gs-max-width"),minWidth:b.attr("data-gs-min-width"),maxHeight:b.attr("data-gs-max-height"),minHeight:b.attr("data-gs-min-height"),autoPosition:f.toBool(b.attr("data-gs-auto-position")),noResize:f.toBool(b.attr("data-gs-no-resize")),noMove:f.toBool(b.attr("data-gs-no-move")),locked:f.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementByNode(b,e)},i.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},i.prototype.addWidget=function(b,c,d,e,f,g,h,i,j,k,l){return b=a(b),"undefined"!=typeof c&&b.attr("data-gs-x",c),"undefined"!=typeof d&&b.attr("data-gs-y",d),"undefined"!=typeof e&&b.attr("data-gs-width",e),"undefined"!=typeof f&&b.attr("data-gs-height",f),"undefined"!=typeof g&&b.attr("data-gs-auto-position",g?"yes":null),"undefined"!=typeof h&&b.attr("data-gs-min-width",h),"undefined"!=typeof i&&b.attr("data-gs-max-width",i),"undefined"!=typeof j&&b.attr("data-gs-min-height",j),"undefined"!=typeof k&&b.attr("data-gs-max-height",k),"undefined"!=typeof l&&b.attr("data-gs-id",l),this.container.append(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},i.prototype.willItFit=function(a,b,c,d,e){var f={x:a,y:b,width:c,height:d,autoPosition:e};return this.grid.canBePlacedWithRespectToHeight(f)},i.prototype.removeWidget=function(b,c){c="undefined"==typeof c?!0:c,b=a(b);var d=b.data("_gridstack_node"); diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index ccfdb2e..fd85012 100644 --- a/dist/gridstack.min.map +++ b/dist/gridstack.min.map @@ -1 +1 @@ -{"version":3,"sources":["../src/gridstack.js"],"names":["factory","define","amd","exports","jQuery","require","e","_","$","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","this","arguments","prototype","obsoleteOpts","Utils","isIntercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","createStylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","removeStylesheet","remove","insertCSSRule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","_collisionNodeCheck","nn","_didCollide","bn","newY","_isAddNodeIntercepted","parseHeight","val","heightUnit","isString","match","Error","parseFloat","unit","is_intercepted","create_stylesheet","remove_stylesheet","insert_css_rule","idSeq","GridStackEngine","onchange","floatMode","items","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","el","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","deletedNodes","Array","slice","call","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","clonedNode","extend","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","opts","oneColumnMode","isAutoCellHeight","self","container","handle_class","handleClass","item_class","itemClass","placeholder_class","placeholderClass","placeholder_text","placeholderText","cell_height","cellHeight","vertical_margin","verticalMargin","min_width","static_grid","staticGrid","is_nested","isNested","always_show_resize_handle","alwaysShowResizeHandle","closest","size","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","resize","trashZone","data","droppable","accept","on","event","ui","_grid","_setupRemovingTimeout","_clearRemovingTimeout","acceptWidgets","draggingElement","onDrag","pos","getCellFromPixel","offset","_added","show","_beforeDragX","_beforeDragY","is","over","origNode","ceil","outerWidth","outerHeight","_temporary","out","unbind","detach","drop","removeAttr","enableSelection","removeData","removeClass","_prepareElementByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","length","trigger","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","cellHeightUnit","verticalMarginUnit","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","containment","parent","start","stop","drag","enable","addWidget","makeWidget","willItFit","removeWidget","removeAll","destroy","detachGrid","off","disable","movable","enableMove","doEnable","includeNewWidgets","enableResize","isNaN","_updateElement","callback","first","move","update","noUpdate","heightData","useOffset","containerPos","relativeLeft","relativeTop","columnWidth","rowHeight","setStatic","staticValue","staticClassName","_updateNodeWidths","oldWidth","newWidth","undefined","setGridWidth","gridWidth","doNotPropagate","batch_update","_fix_collisions","is_area_empty","_sort_nodes","_pack_nodes","_prepare_node","clean_nodes","get_dirty_nodes","add_node","remove_node","can_move_node","move_node","get_grid_height","begin_update","end_update","can_be_placed_with_respect_to_height","_trigger_change_event","_init_styles","_update_styles","_update_container_height","_is_one_column_mode","_prepare_element","set_animation","add_widget","make_widget","will_it_fit","remove_widget","remove_all","min_height","_update_element","cell_width","get_cell_from_pixel","set_static","_set_static_class","GridStackUI","Engine","fn","gridstack"],"mappings":"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","file":"gridstack.min.js"} \ No newline at end of file +{"version":3,"sources":["../src/gridstack.js"],"names":["factory","define","amd","exports","jQuery","require","e","_","$","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","this","arguments","prototype","obsoleteOpts","Utils","isIntercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","createStylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","removeStylesheet","remove","insertCSSRule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","_collisionNodeCheck","nn","_didCollide","bn","newY","_isAddNodeIntercepted","parseHeight","val","heightUnit","isString","match","Error","parseFloat","unit","is_intercepted","create_stylesheet","remove_stylesheet","insert_css_rule","idSeq","GridStackEngine","onchange","floatMode","items","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","el","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","deletedNodes","Array","slice","call","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","clonedNode","extend","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","opts","oneColumnMode","isAutoCellHeight","self","container","handle_class","handleClass","item_class","itemClass","placeholder_class","placeholderClass","placeholder_text","placeholderText","cell_height","cellHeight","vertical_margin","verticalMargin","min_width","static_grid","staticGrid","is_nested","isNested","always_show_resize_handle","alwaysShowResizeHandle","closest","size","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","resize","trashZone","data","droppable","accept","on","event","ui","_grid","_setupRemovingTimeout","_clearRemovingTimeout","acceptWidgets","draggingElement","onDrag","pos","getCellFromPixel","offset","_added","show","_beforeDragX","_beforeDragY","is","over","origNode","ceil","outerWidth","outerHeight","_temporary","out","unbind","detach","drop","removeAttr","enableSelection","removeData","removeClass","_prepareElementByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","length","trigger","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","cellHeightUnit","verticalMarginUnit","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","containment","parent","start","stop","drag","enable","addWidget","makeWidget","willItFit","removeWidget","removeAll","destroy","detachGrid","off","disable","movable","enableMove","doEnable","includeNewWidgets","enableResize","isNaN","_updateElement","callback","first","move","update","noUpdate","heightData","useOffset","containerPos","relativeLeft","relativeTop","columnWidth","rowHeight","setStatic","staticValue","staticClassName","_updateNodeWidths","oldWidth","newWidth","undefined","setGridWidth","gridWidth","doNotPropagate","batch_update","_fix_collisions","is_area_empty","_sort_nodes","_pack_nodes","_prepare_node","clean_nodes","get_dirty_nodes","add_node","remove_node","can_move_node","move_node","get_grid_height","begin_update","end_update","can_be_placed_with_respect_to_height","_trigger_change_event","_init_styles","_update_styles","_update_container_height","_is_one_column_mode","_prepare_element","set_animation","add_widget","make_widget","will_it_fit","remove_widget","remove_all","min_height","_update_element","cell_width","get_cell_from_pixel","set_static","_set_static_class","GridStackUI","Engine","fn","gridstack"],"mappings":"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","file":"gridstack.min.js"} \ No newline at end of file