From 5c605e48b735b58d4ac8397b8c89be03af8dfbf0 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 09:39:36 -0700 Subject: [PATCH 01/52] update copyrights --- LICENSE | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index bf1cc110e..f337ebad1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2016 Pavel Reznikov +Copyright (c) 2014-2016 Pavel Reznikov, Dylan Weiss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - From eebc0b15a6a7e18790c33417c56eae9aee995fc3 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 09:39:52 -0700 Subject: [PATCH 02/52] 0.2.7-dev --- README.md | 4 +++- bower.json | 2 +- dist/gridstack.js | 2 +- dist/gridstack.min.js | 10 +++++----- dist/gridstack.min.map | 2 +- package.json | 2 +- src/gridstack.js | 2 +- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a1cec99ca..c80010a21 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Join gridstack.js on Slack: https://gridstackjs.troolee.com - [Using AniJS](#using-anijs) - [The Team](#the-team) - [Changes](#changes) - - [v0.2.6 (Development version)](#v027-dev-development-version) + - [v0.2.7-dev (Development Version)](#v027-dev-development-version) - [v0.2.6 (2016-08-17)](#v026-2016-08-17) - [v0.2.5 (2016-03-02)](#v025-2016-03-02) - [v0.2.4 (2016-02-15)](#v024-2016-02-15) @@ -475,6 +475,8 @@ for help. Changes ======= +#### v0.2.7-dev (Development Version) + #### v0.2.6 (2016-08-17) - update requirements to the latest versions of jQuery (v3.1.0+) and jquery-ui (v1.12.0+). diff --git a/bower.json b/bower.json index a8055fce2..2e520ca9b 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "gridstack", - "version": "0.2.6", + "version": "0.2.7-dev", "homepage": "https://github.com/troolee/gridstack.js", "authors": [ "Pavel Reznikov " diff --git a/dist/gridstack.js b/dist/gridstack.js index 3b5a660b6..a3e502a02 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -1,5 +1,5 @@ /** - * gridstack.js 0.2.6 + * gridstack.js 0.2.7-dev * http://troolee.github.io/gridstack.js/ * (c) 2014-2016 Pavel Reznikov * gridstack.js may be freely distributed under the MIT license. diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 51a29c343..c4a946be0 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -1,21 +1,21 @@ /** - * gridstack.js 0.2.6 + * gridstack.js 0.2.7-dev * http://troolee.github.io/gridstack.js/ * (c) 2014-2016 Pavel Reznikov * gridstack.js may be freely distributed under the MIT license. * @preserve */ -!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/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=c!=-1?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}}}; +!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/resizable"],a);else if("undefined"!=typeof exports){try{jQuery=require("jquery")}catch(a){}try{_=require("lodash")}catch(a){}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=c!=-1?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 -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())}, +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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), +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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), // jscs:disable requireCamelCaseOrUpperCaseIdentifiers "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")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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"),a.el.trigger("resize"))})}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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; +d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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"),a.el.trigger("resize"))})}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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(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;e=g.grid.width||k<0?(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&&j<0)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=g.cellWidth();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.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||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;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._prepareElementsByNode(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||c,b=a(b);var d=b.data("_gridstack_node"); diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index 88850a96c..f4dcb08f6 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","args","Array","slice","call","deletedNodes","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","length","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","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","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_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","float","_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","args","Array","slice","call","deletedNodes","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","length","attr","handle","auto","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","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","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_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 diff --git a/package.json b/package.json index 864cd173a..2fb44e30f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gridstack", - "version": "0.2.6", + "version": "0.2.7-dev", "description": "gridstack.js is a jQuery plugin for widget layout", "main": "dist/gridstack.js", "repository": { diff --git a/src/gridstack.js b/src/gridstack.js index 3b5a660b6..a3e502a02 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -1,5 +1,5 @@ /** - * gridstack.js 0.2.6 + * gridstack.js 0.2.7-dev * http://troolee.github.io/gridstack.js/ * (c) 2014-2016 Pavel Reznikov * gridstack.js may be freely distributed under the MIT license. From 39ffe9ca3dcf394035c763138ee29683622c014c Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 09:43:21 -0700 Subject: [PATCH 03/52] copyrights --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c80010a21..0ee222e09 100644 --- a/README.md +++ b/README.md @@ -577,7 +577,7 @@ License The MIT License (MIT) -Copyright (c) 2014-2016 Pavel Reznikov +Copyright (c) 2014-2016 Pavel Reznikov, Dylan Weiss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From a219accfa376c557ca3e52d09c5e42a8a8953669 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 11:46:57 -0700 Subject: [PATCH 04/52] update cdn --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0ee222e09..b207da266 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ Note: You can still use [underscore.js](http://underscorejs.org) (>= 1.7.0) inst * Using CDN: ```html - - + + ``` * Using bower: From d3db46a3a558ed146aa76dbb8ef7b480e8b805e2 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 12:48:22 -0700 Subject: [PATCH 05/52] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b207da266..e4bc760cd 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,8 @@ $(function () { }); ``` +If you're still experiencing issues on touch devices please check #444. + ## Use with knockout.js ```javascript From f8b56af17bbc466cbf85efb281812296242c8cd5 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 12:50:34 -0700 Subject: [PATCH 06/52] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4bc760cd..c65f90613 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ $(function () { }); ``` -If you're still experiencing issues on touch devices please check #444. +If you're still experiencing issues on touch devices please check [#444](https://github.com/troolee/gridstack.js/issues/444) ## Use with knockout.js From af0f2d235b47d2ac1b1ff5862c1afc3e79f9c70a Mon Sep 17 00:00:00 2001 From: Dylan Weiss Date: Wed, 17 Aug 2016 19:09:02 -0400 Subject: [PATCH 07/52] Fix #462 and remove 768px CSS limitation. --- README.md | 4 ++++ dist/gridstack.css | 29 +++++++++++++++-------------- dist/gridstack.js | 6 ++++-- dist/gridstack.min.css | 2 +- dist/gridstack.min.js | 8 ++++---- dist/gridstack.min.map | 2 +- doc/README.md | 3 ++- src/gridstack.js | 6 ++++-- src/gridstack.scss | 28 ++++++++++++++-------------- 9 files changed, 49 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index c65f90613..d495afb44 100644 --- a/README.md +++ b/README.md @@ -479,6 +479,10 @@ Changes #### v0.2.7-dev (Development Version) +- add oneColumnModeClass option to grid. +- remove 768px CSS styles, moved to grid-stack-one-column-mode class. +- add max-width override on grid-stck-one-column-mode ([#462](https://github.com/troolee/gridstack.js/issues/462)). + #### v0.2.6 (2016-08-17) - update requirements to the latest versions of jQuery (v3.1.0+) and jquery-ui (v1.12.0+). diff --git a/dist/gridstack.css b/dist/gridstack.css index f5c84a0c5..f108bafd7 100644 --- a/dist/gridstack.css +++ b/dist/gridstack.css @@ -369,18 +369,19 @@ transition: left 0s, top 0s, height 0s, width 0s; } -@media (max-width: 768px) { - .grid-stack-item { - position: relative !important; - width: auto !important; - left: 0 !important; - top: auto !important; - margin-bottom: 20px; - } - .grid-stack-item .ui-resizable-handle { - display: none; - } - .grid-stack { - height: auto !important; - } +.grid-stack.grid-stack-one-column-mode { + height: auto !important; +} + +.grid-stack.grid-stack-one-column-mode > .grid-stack-item { + position: relative !important; + width: auto !important; + left: 0 !important; + top: auto !important; + margin-bottom: 20px; + max-width: none !important; +} + +.grid-stack.grid-stack-one-column-mode > .grid-stack-item > .ui-resizable-handle { + display: none; } diff --git a/dist/gridstack.js b/dist/gridstack.js index a3e502a02..3fce57558 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -547,7 +547,8 @@ removable: false, removeTimeout: 2000, verticalMarginUnit: 'px', - cellHeightUnit: 'px' + cellHeightUnit: 'px', + oneColumnModeClass: opts.oneColumnModeClass || 'grid-stack-one-column-mode' }); if (this.opts.rtl === 'auto') { @@ -635,7 +636,7 @@ if (oneColumnMode) { return; } - + self.container.addClass(self.opts.oneColumnModeClass); oneColumnMode = true; self.grid._sortNodes(); @@ -659,6 +660,7 @@ return; } + self.container.removeClass(self.opts.oneColumnModeClass); oneColumnMode = false; if (self.opts.staticGrid) { diff --git a/dist/gridstack.min.css b/dist/gridstack.min.css index 5fb660201..7a66c58ad 100644 --- a/dist/gridstack.min.css +++ b/dist/gridstack.min.css @@ -1 +1 @@ -:root .grid-stack-item>.ui-resizable-handle{filter:none}.grid-stack{position:relative}.grid-stack.grid-stack-rtl{direction:ltr}.grid-stack.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack .grid-stack-placeholder>.placeholder-content{border:1px dashed #d3d3d3;margin:0;position:absolute;top:0;left:10px;right:10px;bottom:0;width:auto;z-index:0!important;text-align:center}.grid-stack>.grid-stack-item{min-width:8.3333333333%;position:absolute;padding:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;top:0;left:10px;right:10px;bottom:0;width:auto;z-index:0!important;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack>.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack>.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack>.grid-stack-item.ui-draggable-dragging,.grid-stack>.grid-stack-item.ui-resizable-resizing{z-index:100}.grid-stack>.grid-stack-item.ui-draggable-dragging>.grid-stack-item-content,.grid-stack>.grid-stack-item.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.grid-stack>.grid-stack-item>.ui-resizable-se,.grid-stack>.grid-stack-item>.ui-resizable-sw{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.grid-stack>.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;left:10px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:0;left:25px;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;right:10px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;right:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item>.ui-resizable-se{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);cursor:se-resize;width:20px;height:20px;right:10px;bottom:0}.grid-stack>.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:0;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;left:10px;bottom:0}.grid-stack>.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;left:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack>.grid-stack-item[data-gs-width='1']{width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='1']{left:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='1']{min-width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='1']{max-width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='2']{width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='2']{left:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='2']{min-width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='2']{max-width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='3']{width:25%}.grid-stack>.grid-stack-item[data-gs-x='3']{left:25%}.grid-stack>.grid-stack-item[data-gs-min-width='3']{min-width:25%}.grid-stack>.grid-stack-item[data-gs-max-width='3']{max-width:25%}.grid-stack>.grid-stack-item[data-gs-width='4']{width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='4']{left:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='4']{min-width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='4']{max-width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='5']{width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='5']{left:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='5']{min-width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='5']{max-width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='6']{width:50%}.grid-stack>.grid-stack-item[data-gs-x='6']{left:50%}.grid-stack>.grid-stack-item[data-gs-min-width='6']{min-width:50%}.grid-stack>.grid-stack-item[data-gs-max-width='6']{max-width:50%}.grid-stack>.grid-stack-item[data-gs-width='7']{width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='7']{left:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='7']{min-width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='7']{max-width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='8']{width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='8']{left:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='8']{min-width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='8']{max-width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='9']{width:75%}.grid-stack>.grid-stack-item[data-gs-x='9']{left:75%}.grid-stack>.grid-stack-item[data-gs-min-width='9']{min-width:75%}.grid-stack>.grid-stack-item[data-gs-max-width='9']{max-width:75%}.grid-stack>.grid-stack-item[data-gs-width='10']{width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='10']{left:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='10']{min-width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='10']{max-width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='11']{width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='11']{left:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='11']{min-width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='11']{max-width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='12']{width:100%}.grid-stack>.grid-stack-item[data-gs-x='12']{left:100%}.grid-stack>.grid-stack-item[data-gs-min-width='12']{min-width:100%}.grid-stack>.grid-stack-item[data-gs-max-width='12']{max-width:100%}.grid-stack.grid-stack-animate,.grid-stack.grid-stack-animate .grid-stack-item{-webkit-transition:left .3s,top .3s,height .3s,width .3s;-moz-transition:left .3s,top .3s,height .3s,width .3s;-ms-transition:left .3s,top .3s,height .3s,width .3s;-o-transition:left .3s,top .3s,height .3s,width .3s;transition:left .3s,top .3s,height .3s,width .3s}.grid-stack.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack.grid-stack-animate .grid-stack-item.ui-resizable-resizing{-webkit-transition:left 0s,top 0s,height 0s,width 0s;-moz-transition:left 0s,top 0s,height 0s,width 0s;-ms-transition:left 0s,top 0s,height 0s,width 0s;-o-transition:left 0s,top 0s,height 0s,width 0s;transition:left 0s,top 0s,height 0s,width 0s}@media (max-width:768px){.grid-stack-item{position:relative!important;width:auto!important;left:0!important;top:auto!important;margin-bottom:20px}.grid-stack-item .ui-resizable-handle{display:none}.grid-stack{height:auto!important}} \ No newline at end of file +:root .grid-stack-item>.ui-resizable-handle{filter:none}.grid-stack{position:relative}.grid-stack.grid-stack-rtl{direction:ltr}.grid-stack.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack .grid-stack-placeholder>.placeholder-content{border:1px dashed #d3d3d3;margin:0;position:absolute;top:0;left:10px;right:10px;bottom:0;width:auto;z-index:0!important;text-align:center}.grid-stack>.grid-stack-item{min-width:8.3333333333%;position:absolute;padding:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;top:0;left:10px;right:10px;bottom:0;width:auto;z-index:0!important;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack>.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack>.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack>.grid-stack-item.ui-draggable-dragging,.grid-stack>.grid-stack-item.ui-resizable-resizing{z-index:100}.grid-stack>.grid-stack-item.ui-draggable-dragging>.grid-stack-item-content,.grid-stack>.grid-stack-item.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.grid-stack>.grid-stack-item>.ui-resizable-se,.grid-stack>.grid-stack-item>.ui-resizable-sw{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.grid-stack>.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;left:10px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:0;left:25px;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;right:10px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;right:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item>.ui-resizable-se{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);cursor:se-resize;width:20px;height:20px;right:10px;bottom:0}.grid-stack>.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:0;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;left:10px;bottom:0}.grid-stack>.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;left:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack>.grid-stack-item[data-gs-width='1']{width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='1']{left:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='1']{min-width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='1']{max-width:8.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='2']{width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='2']{left:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='2']{min-width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='2']{max-width:16.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='3']{width:25%}.grid-stack>.grid-stack-item[data-gs-x='3']{left:25%}.grid-stack>.grid-stack-item[data-gs-min-width='3']{min-width:25%}.grid-stack>.grid-stack-item[data-gs-max-width='3']{max-width:25%}.grid-stack>.grid-stack-item[data-gs-width='4']{width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='4']{left:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='4']{min-width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='4']{max-width:33.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='5']{width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='5']{left:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='5']{min-width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='5']{max-width:41.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='6']{width:50%}.grid-stack>.grid-stack-item[data-gs-x='6']{left:50%}.grid-stack>.grid-stack-item[data-gs-min-width='6']{min-width:50%}.grid-stack>.grid-stack-item[data-gs-max-width='6']{max-width:50%}.grid-stack>.grid-stack-item[data-gs-width='7']{width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='7']{left:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='7']{min-width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='7']{max-width:58.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='8']{width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='8']{left:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='8']{min-width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='8']{max-width:66.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='9']{width:75%}.grid-stack>.grid-stack-item[data-gs-x='9']{left:75%}.grid-stack>.grid-stack-item[data-gs-min-width='9']{min-width:75%}.grid-stack>.grid-stack-item[data-gs-max-width='9']{max-width:75%}.grid-stack>.grid-stack-item[data-gs-width='10']{width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-x='10']{left:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-min-width='10']{min-width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-max-width='10']{max-width:83.3333333333%}.grid-stack>.grid-stack-item[data-gs-width='11']{width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-x='11']{left:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-min-width='11']{min-width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-max-width='11']{max-width:91.6666666667%}.grid-stack>.grid-stack-item[data-gs-width='12']{width:100%}.grid-stack>.grid-stack-item[data-gs-x='12']{left:100%}.grid-stack>.grid-stack-item[data-gs-min-width='12']{min-width:100%}.grid-stack>.grid-stack-item[data-gs-max-width='12']{max-width:100%}.grid-stack.grid-stack-animate,.grid-stack.grid-stack-animate .grid-stack-item{-webkit-transition:left .3s,top .3s,height .3s,width .3s;-moz-transition:left .3s,top .3s,height .3s,width .3s;-ms-transition:left .3s,top .3s,height .3s,width .3s;-o-transition:left .3s,top .3s,height .3s,width .3s;transition:left .3s,top .3s,height .3s,width .3s}.grid-stack.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack.grid-stack-animate .grid-stack-item.ui-resizable-resizing{-webkit-transition:left 0s,top 0s,height 0s,width 0s;-moz-transition:left 0s,top 0s,height 0s,width 0s;-ms-transition:left 0s,top 0s,height 0s,width 0s;-o-transition:left 0s,top 0s,height 0s,width 0s;transition:left 0s,top 0s,height 0s,width 0s}.grid-stack.grid-stack-one-column-mode{height:auto!important}.grid-stack.grid-stack-one-column-mode>.grid-stack-item{position:relative!important;width:auto!important;left:0!important;top:auto!important;margin-bottom:20px;max-width:none!important}.grid-stack.grid-stack-one-column-mode>.grid-stack-item>.ui-resizable-handle{display:none} \ No newline at end of file diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index c4a946be0..f75d21506 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -5,17 +5,17 @@ * gridstack.js may be freely distributed under the MIT license. * @preserve */ -!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/resizable"],a);else if("undefined"!=typeof exports){try{jQuery=require("jquery")}catch(a){}try{_=require("lodash")}catch(a){}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=c!=-1?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}}}; +!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/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=c!=-1?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 -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())}, +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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), +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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), // jscs:disable requireCamelCaseOrUpperCaseIdentifiers "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")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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"),a.el.trigger("resize"))})}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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; +d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:d.oneColumnModeClass||"grid-stack-one-column-mode"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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;i.container.addClass(i.opts.oneColumnModeClass),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"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(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;e=g.grid.width||k<0?(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&&j<0)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=g.cellWidth();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.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||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;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._prepareElementsByNode(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||c,b=a(b);var d=b.data("_gridstack_node"); diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index f4dcb08f6..602d42df4 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","float","_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","args","Array","slice","call","deletedNodes","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","length","attr","handle","auto","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","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","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_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","args","Array","slice","call","deletedNodes","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","length","attr","handle","auto","float","_class","random","toFixed","animate","resizable","autoHide","handles","draggable","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","oneColumnModeClass","css","addClass","cellWidth","_setStaticClass","_initStyles","grid","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","removeClass","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","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_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":";;;;;;;CAOA,SAAUA,GACN,GAAsB,kBAAXC,SAAyBA,OAAOC,IACvCD,QAAQ,SAAU,SAAU,iBAAkB,8BAA+B,sBACzE,iBAAkB,eAAgB,oBAAqB,mBAAoB,uBAC3E,mBAAoB,gCAAiC,sBAAuB,0BAC5E,qBAAsB,sBAAuB,oBAAqB,mBAClE,0BAA2B,8BAA+B,8BAC1D,+BAAgCD,OACjC,IAAuB,mBAAZG,SAAyB,CACvC,IAAMC,OAASC,QAAQ,UAAa,MAAOC,IAC3C,IAAMC,EAAIF,QAAQ,UAAa,MAAOC,IACtCN,EAAQI,OAAQG,OAEhBP,GAAQI,OAAQG,IAErB,SAASC,EAAGD,GAEX,GAAIE,GAAQC,OAERC,EAAW,SAASC,EAAGC,EAASC,GAChC,GAAIC,GAAU,WAGV,MAFAC,SAAQC,KAAK,2BAA6BJ,EAAU,4DACzCC,EAAU,iDACdF,EAAEM,MAAMC,KAAMC,WAIzB,OAFAL,GAAQM,UAAYT,EAAES,UAEfN,GAGPO,EAAe,SAAST,EAASC,GACjCE,QAAQC,KAAK,yBAA2BJ,EAAU,4DAC9CC,EAAU,kDAGdS,GACAC,cAAe,SAASC,EAAGC,GACvB,QAASD,EAAEE,EAAIF,EAAEG,OAASF,EAAEC,GAAKD,EAAEC,EAAID,EAAEE,OAASH,EAAEE,GAAKF,EAAEI,EAAIJ,EAAEK,QAAUJ,EAAEG,GAAKH,EAAEG,EAAIH,EAAEI,QAAUL,EAAEI,IAG1GE,KAAM,SAASC,EAAOC,EAAKL,GAGvB,MAFAA,GAAQA,GAASrB,EAAE2B,MAAMF,GAAOG,IAAI,SAASC,GAAQ,MAAOA,GAAKT,EAAIS,EAAKR,QAAUS,MAAMC,QAC1FL,EAAMA,MAAY,KACX1B,EAAEgC,OAAOP,EAAO,SAASQ,GAAK,MAAOP,IAAOO,EAAEb,EAAIa,EAAEX,EAAID,MAGnEa,iBAAkB,SAASC,GACvB,GAAIC,GAAQC,SAASC,cAAc,QASnC,OARAF,GAAMG,aAAa,OAAQ,YAC3BH,EAAMG,aAAa,mBAAoBJ,GACnCC,EAAMI,WACNJ,EAAMI,WAAWC,QAAU,GAE3BL,EAAMM,YAAYL,SAASM,eAAe,KAE9CN,SAASO,qBAAqB,QAAQ,GAAGF,YAAYN,GAC9CA,EAAMS,OAGjBC,iBAAkB,SAASX,GACvBlC,EAAE,0BAA4BkC,EAAK,KAAKY,UAG5CC,cAAe,SAASH,EAAOI,EAAUC,EAAOC,GACZ,kBAArBN,GAAMO,WACbP,EAAMO,WAAWH,EAAW,IAAMC,EAAQ,IAAKC,GACf,kBAAlBN,GAAMQ,SACpBR,EAAMQ,QAAQJ,EAAUC,EAAOC,IAIvCG,OAAQ,SAASC,GACb,MAAgB,iBAALA,GACAA,EAEK,gBAALA,IACPA,EAAIA,EAAEC,gBACS,KAAND,GAAiB,MAALA,GAAkB,SAALA,GAAqB,KAALA,IAE/CE,QAAQF,IAGnBG,oBAAqB,SAASzB,GAC1B,MAAOA,IAAKrB,KAAKiB,MAAQb,EAAMC,cAAcgB,EAAGrB,KAAK+C,KAGzDC,YAAa,SAASC,GAClB,MAAO7C,GAAMC,eAAeG,EAAGR,KAAKqB,EAAEb,EAAGE,EAAGV,KAAKkD,KAAMzC,MAAOT,KAAKqB,EAAEZ,MAAOE,OAAQX,KAAKqB,EAAEV,QAASsC,IAGxGE,sBAAuB,SAAS9B,GAC5B,MAAOjB,GAAMC,eAAeG,EAAGR,KAAKQ,EAAGE,EAAGV,KAAKU,EAAGD,MAAOT,KAAKiB,KAAKR,MAAOE,OAAQX,KAAKiB,KAAKN,QAASU,IAGzG+B,YAAa,SAASC,GAClB,GAAI1C,GAAS0C,EACTC,EAAa,IACjB,IAAI3C,GAAUvB,EAAEmE,SAAS5C,GAAS,CAC9B,GAAI6C,GAAQ7C,EAAO6C,MAAM,sEACzB,KAAKA,EACD,KAAM,IAAIC,OAAM,iBAEpBH,GAAaE,EAAM,IAAM,KACzB7C,EAAS+C,WAAWF,EAAM,IAE9B,OAAQ7C,OAAQA,EAAQgD,KAAML;;AAKtClD,EAAMwD,eAAiBpE,EAASY,EAAMC,cAAe,iBAAkB,iBAEvED,EAAMyD,kBAAoBrE,EAASY,EAAMkB,iBAAkB,oBAAqB,oBAEhFlB,EAAM0D,kBAAoBtE,EAASY,EAAM8B,iBAAkB,oBAAqB,oBAEhF9B,EAAM2D,gBAAkBvE,EAASY,EAAMgC,cAAe,kBAAmB;;AAGzE,GAAI4B,GAAQ,EAERC,EAAkB,SAASxD,EAAOyD,EAAUC,EAAWxD,EAAQyD,GAC/DpE,KAAKS,MAAQA,EACbT,KAAAA,SAAamE,IAAa,EAC1BnE,KAAKW,OAASA,GAAU,EAExBX,KAAKa,MAAQuD,MACbpE,KAAKkE,SAAWA,GAAY,aAE5BlE,KAAKqE,eAAiB,EACtBrE,KAAKsE,OAAStE,KAAAA,SAEdA,KAAKuE,eACLvE,KAAKwE,iBAGTP,GAAgB/D,UAAUuE,YAAc,WACpCzE,KAAKqE,eAAiB,EACtBrE,KAAAA,UAAa,GAGjBiE,EAAgB/D,UAAUwE,OAAS,WACH,IAAxB1E,KAAKqE,iBACLrE,KAAKqE,eAAiB,EACtBrE,KAAAA,SAAaA,KAAKsE,OAClBtE,KAAK2E,aACL3E,KAAK4E;;AAKbX,EAAgB/D,UAAU2E,mBAAqB,SAASC,GACpD,MAAO1F,GAAE2F,KAAK/E,KAAKa,MAAO,SAASQ,GAAK,MAAOyD,GAAGE,IAAI,KAAO3D,EAAEyD,GAAGE,IAAI,MAG1Ef,EAAgB/D,UAAU+E,eAAiB,SAAShE,GAEhDjB,KAAKkF,cAEL,IAAInC,GAAK9B,EACLkE,EAAYtC,QAAQzD,EAAE2F,KAAK/E,KAAKa,MAAO,SAASQ,GAAK,MAAOA,GAAE+D,SAIlE,KAHKpF,KAAAA,UAAemF,IAChBpC,GAAMvC,EAAG,EAAGE,EAAGO,EAAKP,EAAGD,MAAOT,KAAKS,MAAOE,OAAQM,EAAKN,WAE9C,CACT,GAAI0E,GAAgBjG,EAAE2F,KAAK/E,KAAKa,MAAOzB,EAAEkG,KAAKlF,EAAM0C,qBAAsB7B,KAAMA,EAAM8B,GAAIA,IAC1F,IAA4B,mBAAjBsC,GACP,MAEJrF,MAAKuF,SAASF,EAAeA,EAAc7E,EAAGS,EAAKP,EAAIO,EAAKN,OACxD0E,EAAc5E,MAAO4E,EAAc1E,QAAQ,KAIvDsD,EAAgB/D,UAAUsF,YAAc,SAAShF,EAAGE,EAAGD,EAAOE,GAC1D,GAAIoC,IAAMvC,EAAGA,GAAK,EAAGE,EAAGA,GAAK,EAAGD,MAAOA,GAAS,EAAGE,OAAQA,GAAU,GACjE0E,EAAgBjG,EAAE2F,KAAK/E,KAAKa,MAAOzB,EAAEkG,KAAK,SAASjE,GACnD,MAAOjB,GAAMC,cAAcgB,EAAG0B,IAC/B/C,MACH,OAAyB,QAAlBqF,GAAmD,mBAAlBA,IAG5CpB,EAAgB/D,UAAUgF,WAAa,SAASpE,GAC5Cd,KAAKa,MAAQT,EAAMQ,KAAKZ,KAAKa,MAAOC,EAAKd,KAAKS,QAGlDwD,EAAgB/D,UAAUyE,WAAa,WACnC3E,KAAKkF,aAEDlF,KAAAA,SACAZ,EAAEqG,KAAKzF,KAAKa,MAAOzB,EAAEkG,KAAK,SAASjE,EAAGqE,GAClC,IAAIrE,EAAEsE,WAAgC,mBAAZtE,GAAEuE,QAAyBvE,EAAEX,GAAKW,EAAEuE,OAK9D,IADA,GAAI1C,GAAO7B,EAAEX,EACNwC,GAAQ7B,EAAEuE,QAAQ,CACrB,GAAIP,GAAgBjG,EAAE2B,MAAMf,KAAKa,OAC5BkE,KAAK3F,EAAEkG,KAAKlF,EAAM4C,aAAc3B,EAAGA,EAAG6B,KAAMA,KAC5C/B,OAEAkE,KACDhE,EAAEwE,QAAS,EACXxE,EAAEX,EAAIwC,KAERA,IAEPlD,OAEHZ,EAAEqG,KAAKzF,KAAKa,MAAOzB,EAAEkG,KAAK,SAASjE,EAAGqE,GAClC,IAAIrE,EAAE+D,OAGN,KAAO/D,EAAEX,EAAI,GAAG,CACZ,GAAIwC,GAAO7B,EAAEX,EAAI,EACboF,EAAmB,IAANJ,CAEjB,IAAIA,EAAI,EAAG,CACP,GAAIL,GAAgBjG,EAAE2B,MAAMf,KAAKa,OAC5BkF,KAAKL,GACLX,KAAK3F,EAAEkG,KAAKlF,EAAM4C,aAAc3B,EAAGA,EAAG6B,KAAMA,KAC5C/B,OACL2E,GAAqC,mBAAjBT,GAGxB,IAAKS,EACD,KAEJzE,GAAEwE,OAASxE,EAAEX,GAAKwC,EAClB7B,EAAEX,EAAIwC,IAEXlD,QAIXiE,EAAgB/D,UAAU8F,aAAe,SAAS/E,EAAMgF,GAqCpD,MApCAhF,GAAO7B,EAAE8G,SAASjF,OAAaR,MAAO,EAAGE,OAAQ,EAAGH,EAAG,EAAGE,EAAG,IAE7DO,EAAKT,EAAI2F,SAAS,GAAKlF,EAAKT,GAC5BS,EAAKP,EAAIyF,SAAS,GAAKlF,EAAKP,GAC5BO,EAAKR,MAAQ0F,SAAS,GAAKlF,EAAKR,OAChCQ,EAAKN,OAASwF,SAAS,GAAKlF,EAAKN,QACjCM,EAAKmF,aAAenF,EAAKmF,eAAgB,EACzCnF,EAAKoF,SAAWpF,EAAKoF,WAAY,EACjCpF,EAAKqF,OAASrF,EAAKqF,SAAU,EAEzBrF,EAAKR,MAAQT,KAAKS,MAClBQ,EAAKR,MAAQT,KAAKS,MACXQ,EAAKR,MAAQ,IACpBQ,EAAKR,MAAQ,GAGbQ,EAAKN,OAAS,IACdM,EAAKN,OAAS,GAGdM,EAAKT,EAAI,IACTS,EAAKT,EAAI,GAGTS,EAAKT,EAAIS,EAAKR,MAAQT,KAAKS,QACvBwF,EACAhF,EAAKR,MAAQT,KAAKS,MAAQQ,EAAKT,EAE/BS,EAAKT,EAAIR,KAAKS,MAAQQ,EAAKR,OAI/BQ,EAAKP,EAAI,IACTO,EAAKP,EAAI,GAGNO,GAGXgD,EAAgB/D,UAAU0E,QAAU,WAChC,GAAI2B,GAAOC,MAAMtG,UAAUuG,MAAMC,KAAKzG,UAAW,EAGjD,IAFAsG,EAAK,GAAwB,mBAAZA,GAAK,OAA2BA,EAAK,IACtDA,EAAK,GAAwB,mBAAZA,GAAK,IAA4BA,EAAK,IACnDvG,KAAKqE,eAAT,CAGA,GAAIsC,GAAeJ,EAAK,GAAGK,OAAO5G,KAAK6G,gBACvC7G,MAAKkE,SAASyC,EAAcJ,EAAK,MAGrCtC,EAAgB/D,UAAU4G,WAAa,WAC/B9G,KAAKqE,gBAGTjF,EAAEqG,KAAKzF,KAAKa,MAAO,SAASQ,GAAIA,EAAEwE,QAAS,KAG/C5B,EAAgB/D,UAAU2G,cAAgB,WACtC,MAAOzH,GAAE2H,OAAO/G,KAAKa,MAAO,SAASQ,GAAK,MAAOA,GAAEwE,UAGvD5B,EAAgB/D,UAAU8G,QAAU,SAAS/F,EAAMgG,GAW/C,GAVAhG,EAAOjB,KAAKgG,aAAa/E,GAEG,mBAAjBA,GAAKiG,WAA2BjG,EAAKR,MAAQ0G,KAAKC,IAAInG,EAAKR,MAAOQ,EAAKiG,WACrD,mBAAlBjG,GAAKoG,YAA4BpG,EAAKN,OAASwG,KAAKC,IAAInG,EAAKN,OAAQM,EAAKoG,YACzD,mBAAjBpG,GAAKqG,WAA2BrG,EAAKR,MAAQ0G,KAAKjG,IAAID,EAAKR,MAAOQ,EAAKqG,WACrD,mBAAlBrG,GAAKsG,YAA4BtG,EAAKN,OAASwG,KAAKjG,IAAID,EAAKN,OAAQM,EAAKsG,YAErFtG,EAAKuG,MAAQxD,EACb/C,EAAK4E,QAAS,EAEV5E,EAAKmF,aAAc,CACnBpG,KAAKkF,YAEL,KAAK,GAAIQ,GAAI,KAAMA,EAAG,CAClB,GAAIlF,GAAIkF,EAAI1F,KAAKS,MACbC,EAAIyG,KAAKM,MAAM/B,EAAI1F,KAAKS,MAC5B,MAAID,EAAIS,EAAKR,MAAQT,KAAKS,OAGrBrB,EAAE2F,KAAK/E,KAAKa,MAAOzB,EAAEkG,KAAKlF,EAAM+C,uBAAwB3C,EAAGA,EAAGE,EAAGA,EAAGO,KAAMA,MAAS,CACpFA,EAAKT,EAAIA,EACTS,EAAKP,EAAIA,CACT,SAaZ,MARAV,MAAKa,MAAM6G,KAAKzG,GACc,mBAAnBgG,IAAkCA,GACzCjH,KAAKuE,YAAYmD,KAAKtI,EAAEuI,MAAM1G,IAGlCjB,KAAKiF,eAAehE,GACpBjB,KAAK2E,aACL3E,KAAK4E,UACE3D,GAGXgD,EAAgB/D,UAAU0H,WAAa,SAAS3G,EAAM4G,GAClDA,EAAmC,mBAAfA,IAAoCA,EACxD7H,KAAKwE,cAAckD,KAAKtI,EAAEuI,MAAM1G,IAChCA,EAAKuG,IAAM,KACXxH,KAAKa,MAAQzB,EAAE0I,QAAQ9H,KAAKa,MAAOI,GACnCjB,KAAK2E,aACL3E,KAAK4E,QAAQ3D,EAAM4G,IAGvB5D,EAAgB/D,UAAU6H,YAAc,SAAS9G,EAAMT,EAAGE,EAAGD,EAAOE,GAChE,GAAIwE,GAAYtC,QAAQzD,EAAE2F,KAAK/E,KAAKa,MAAO,SAASQ,GAAK,MAAOA,GAAE+D,SAElE,KAAKpF,KAAKW,SAAWwE,EACjB,OAAO,CAGX,IAAI6C,GACAL,EAAQ,GAAI1D,GACZjE,KAAKS,MACL,KACAT,KAAAA,SACA,EACAZ,EAAE4B,IAAIhB,KAAKa,MAAO,SAASQ,GACvB,MAAIA,IAAKJ,EACL+G,EAAa3I,EAAE4I,UAAW5G,GAGvBhC,EAAE4I,UAAW5G,KAG5B,IAA0B,mBAAf2G,GACP,OAAO,CAGXL,GAAMpC,SAASyC,EAAYxH,EAAGE,EAAGD,EAAOE,EAExC,IAAIuH,IAAM,CAWV,OATI/C,KACA+C,IAAQrF,QAAQzD,EAAE2F,KAAK4C,EAAM9G,MAAO,SAASQ,GACzC,MAAOA,IAAK2G,GAAcnF,QAAQxB,EAAE+D,SAAWvC,QAAQxB,EAAEwE,YAG7D7F,KAAKW,SACLuH,GAAOP,EAAMQ,iBAAmBnI,KAAKW,QAGlCuH,GAGXjE,EAAgB/D,UAAUkI,+BAAiC,SAASnH,GAChE,IAAKjB,KAAKW,OACN,OAAO,CAGX,IAAIgH,GAAQ,GAAI1D,GACZjE,KAAKS,MACL,KACAT,KAAAA,SACA,EACAZ,EAAE4B,IAAIhB,KAAKa,MAAO,SAASQ,GAAK,MAAOhC,GAAE4I,UAAW5G,KAExD,OADAsG,GAAMX,QAAQ/F,GACP0G,EAAMQ,iBAAmBnI,KAAKW,QAGzCsD,EAAgB/D,UAAUqF,SAAW,SAAStE,EAAMT,EAAGE,EAAGD,EAAOE,EAAQ0H,GAWrE,GAVgB,gBAAL7H,KAAiBA,EAAIS,EAAKT,GACrB,gBAALE,KAAiBA,EAAIO,EAAKP,GACjB,gBAATD,KAAqBA,EAAQQ,EAAKR,OACxB,gBAAVE,KAAsBA,EAASM,EAAKN,QAEnB,mBAAjBM,GAAKiG,WAA2BzG,EAAQ0G,KAAKC,IAAI3G,EAAOQ,EAAKiG,WAC3C,mBAAlBjG,GAAKoG,YAA4B1G,EAASwG,KAAKC,IAAIzG,EAAQM,EAAKoG,YAC/C,mBAAjBpG,GAAKqG,WAA2B7G,EAAQ0G,KAAKjG,IAAIT,EAAOQ,EAAKqG,WAC3C,mBAAlBrG,GAAKsG,YAA4B5G,EAASwG,KAAKjG,IAAIP,EAAQM,EAAKsG,YAEvEtG,EAAKT,GAAKA,GAAKS,EAAKP,GAAKA,GAAKO,EAAKR,OAASA,GAASQ,EAAKN,QAAUA,EACpE,MAAOM,EAGX,IAAIgF,GAAWhF,EAAKR,OAASA,CAe7B,OAdAQ,GAAK4E,QAAS,EAEd5E,EAAKT,EAAIA,EACTS,EAAKP,EAAIA,EACTO,EAAKR,MAAQA,EACbQ,EAAKN,OAASA,EAEdM,EAAOjB,KAAKgG,aAAa/E,EAAMgF,GAE/BjG,KAAKiF,eAAehE,GACfoH,IACDrI,KAAK2E,aACL3E,KAAK4E,WAEF3D,GAGXgD,EAAgB/D,UAAUiI,cAAgB,WACtC,MAAO/I,GAAEkJ,OAAOtI,KAAKa,MAAO,SAAS0H,EAAMlH,GAAK,MAAO8F,MAAKjG,IAAIqH,EAAMlH,EAAEX,EAAIW,EAAEV,SAAY,IAG9FsD,EAAgB/D,UAAUsI,YAAc,SAASvH,GAC7C7B,EAAEqG,KAAKzF,KAAKa,MAAO,SAASQ,GACxBA,EAAEuE,OAASvE,EAAEX,IAEjBO,EAAK0E,WAAY,GAGrB1B,EAAgB/D,UAAUuI,UAAY,WAClCrJ,EAAEqG,KAAKzF,KAAKa,MAAO,SAASQ,GACxBA,EAAEuE,OAASvE,EAAEX,GAEjB,IAAIW,GAAIjC,EAAE2F,KAAK/E,KAAKa,MAAO,SAASQ,GAAK,MAAOA,GAAEsE,WAC9CtE,KACAA,EAAEsE,WAAY,GAItB,IAAI+C,GAAY,SAAS5D,EAAI6D,GACzB,GACIC,GAAeC,EADfC,EAAO9I,IAGX2I,GAAOA,MAEP3I,KAAK+I,UAAY1J,EAAEyF;;AAGc,mBAAtB6D,GAAKK,eACZL,EAAKM,YAAcN,EAAKK,aACxB7I,EAAa,eAAgB,gBAEF,mBAApBwI,GAAKO,aACZP,EAAKQ,UAAYR,EAAKO,WACtB/I,EAAa,aAAc,cAEO,mBAA3BwI,GAAKS,oBACZT,EAAKU,iBAAmBV,EAAKS,kBAC7BjJ,EAAa,oBAAqB,qBAED,mBAA1BwI,GAAKW,mBACZX,EAAKY,gBAAkBZ,EAAKW,iBAC5BnJ,EAAa,mBAAoB,oBAEL,mBAArBwI,GAAKa,cACZb,EAAKc,WAAad,EAAKa,YACvBrJ,EAAa,cAAe,eAEI,mBAAzBwI,GAAKe,kBACZf,EAAKgB,eAAiBhB,EAAKe,gBAC3BvJ,EAAa,kBAAmB,mBAEN,mBAAnBwI,GAAKiB,YACZjB,EAAKrB,SAAWqB,EAAKiB,UACrBzJ,EAAa,YAAa,aAEE,mBAArBwI,GAAKkB,cACZlB,EAAKmB,WAAanB,EAAKkB,YACvB1J,EAAa,cAAe,eAEF,mBAAnBwI,GAAKoB,YACZpB,EAAKqB,SAAWrB,EAAKoB,UACrB5J,EAAa,YAAa,aAEgB,mBAAnCwI,GAAKsB,4BACZtB,EAAKuB,uBAAyBvB,EAAKsB,0BACnC9J,EAAa,4BAA6B;;AAI9CwI,EAAKQ,UAAYR,EAAKQ,WAAa,iBACnC,IAAIa,GAAWhK,KAAK+I,UAAUoB,QAAQ,IAAMxB,EAAKQ,WAAWiB,OAAS,CAuFrE,IArFApK,KAAK2I,KAAOvJ,EAAE8G,SAASyC,OACnBlI,MAAO0F,SAASnG,KAAK+I,UAAUsB,KAAK,mBAAqB,GACzD1J,OAAQwF,SAASnG,KAAK+I,UAAUsB,KAAK,oBAAsB,EAC3DlB,UAAW,kBACXE,iBAAkB,yBAClBE,gBAAiB,GACjBe,OAAQ,2BACRrB,YAAa,KACbQ,WAAY,GACZE,eAAgB,GAChBY,MAAM,EACNjD,SAAU,IACVkD,SAAO,EACPV,YAAY,EACZW,OAAQ,wBAA0C,IAAhBtD,KAAKuD,UAAkBC,QAAQ,GACjEC,QAAS/H,QAAQ7C,KAAK+I,UAAUsB,KAAK,sBAAuB,EAC5DH,uBAAwBvB,EAAKuB,yBAA0B,EACvDW,UAAWzL,EAAE8G,SAASyC,EAAKkC,eACvBC,UAAYnC,EAAKuB,uBACjBa,QAAS,OAEbC,UAAW5L,EAAE8G,SAASyC,EAAKqC,eACvBV,QAAS3B,EAAKM,YAAc,IAAMN,EAAKM,YAAeN,EAAK2B,OAAS3B,EAAK2B,OAAS,KAC9E,2BACJW,QAAQ,EACRC,SAAU,SAEdC,YAAaxC,EAAKwC,cAAe,EACjCC,cAAezC,EAAKyC,gBAAiB,EACrCC,IAAK,OACLC,WAAW,EACXC,cAAe,IACfC,mBAAoB,KACpBC,eAAgB,KAChBC,mBAAoB/C,EAAK+C,oBAAsB,+BAG7B,SAAlB1L,KAAK2I,KAAK0C,MACVrL,KAAK2I,KAAK0C,IAA0C,QAApCrL,KAAK+I,UAAU4C,IAAI,cAGnC3L,KAAK2I,KAAK0C,KACVrL,KAAK+I,UAAU6C,SAAS,kBAG5B5L,KAAK2I,KAAKqB,SAAWA,EAErBnB,EAA4C,SAAzB7I,KAAK2I,KAAKc,WACzBZ,EACAC,EAAKW,WAAWX,EAAK+C,aAAa,GAElC7L,KAAKyJ,WAAWzJ,KAAK2I,KAAKc,YAAY,GAE1CzJ,KAAK2J,eAAe3J,KAAK2I,KAAKgB,gBAAgB,GAE9C3J,KAAK+I,UAAU6C,SAAS5L,KAAK2I,KAAK8B,QAElCzK,KAAK8L,kBAED9B,GACAhK,KAAK+I,UAAU6C,SAAS,qBAG5B5L,KAAK+L,cAEL/L,KAAKgM,KAAO,GAAI/H,GAAgBjE,KAAK2I,KAAKlI,MAAO,SAASI,EAAOgH,GAC7DA,EAAmC,mBAAfA,IAAoCA,CACxD,IAAIR,GAAY,CAChBjI,GAAEqG,KAAK5E,EAAO,SAASQ,GACfwG,GAAwB,OAAVxG,EAAEmG,IACZnG,EAAEyD,IACFzD,EAAEyD,GAAG3C,UAGTd,EAAEyD,GACGuF,KAAK,YAAahJ,EAAEb,GACpB6J,KAAK,YAAahJ,EAAEX,GACpB2J,KAAK,gBAAiBhJ,EAAEZ,OACxB4J,KAAK,iBAAkBhJ,EAAEV,QAC9B0G,EAAYF,KAAKjG,IAAImG,EAAWhG,EAAEX,EAAIW,EAAEV,WAGhDmI,EAAKmD,cAAc5E,EAAY,KAChCrH,KAAK2I,KAAL3I,SAAiBA,KAAK2I,KAAKhI,QAE1BX,KAAK2I,KAAK4B,KAAM,CAChB,GAAI2B,MACAC,EAAQnM,IACZA,MAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,UAAY,SAAWnJ,KAAK2I,KAAKU,iBAAmB,KACvF5D,KAAK,SAASlD,EAAOuC,GACtBA,EAAKzF,EAAEyF,GACPoH,EAASxE,MACL5C,GAAIA,EACJY,EAAGS,SAASrB,EAAGuF,KAAK,cAAgBlE,SAASrB,EAAGuF,KAAK,cAAgB8B,EAAMxD,KAAKlI,UAGxFrB,EAAE2B,MAAMmL,GAAU9K,OAAO,SAASZ,GAAK,MAAOA,GAAEkF,IAAMD,KAAK,SAASC,GAChEoD,EAAKuD,gBAAgB3G,EAAEZ,MACxB3D,QAuEP,GApEAnB,KAAKsM,aAAatM,KAAK2I,KAAKiC,SAE5B5K,KAAKuM,YAAclN,EACf,eAAiBW,KAAK2I,KAAKU,iBAAmB,IAAMrJ,KAAK2I,KAAKQ,UAAY,sCACpCnJ,KAAK2I,KAAKY,gBAAkB,gBAAgBiD,OAEtFxM,KAAKyM,yBAELzM,KAAK0M,uBAAyBtN,EAAEuN,SAAS,WACrC7D,EAAKW,WAAWX,EAAK+C,aAAa,IACnC,KAEH7L,KAAK4M,gBAAkB,WAKnB,GAJI/D,GACAC,EAAK4D,yBAGL5D,EAAK+D,mBAAoB,CACzB,GAAIjE,EACA,MAEJE,GAAKC,UAAU6C,SAAS9C,EAAKH,KAAK+C,oBAClC9C,GAAgB,EAEhBE,EAAKkD,KAAK9G,aACV9F,EAAEqG,KAAKqD,EAAKkD,KAAKnL,MAAO,SAASI,GAC7B6H,EAAKC,UAAU+D,OAAO7L,EAAK6D,IAEvBgE,EAAKH,KAAKmB,cAGV7I,EAAKqF,QAAUwC,EAAKH,KAAKwC,cACzBlK,EAAK6D,GAAGkG,UAAU,YAElB/J,EAAKoF,UAAYyC,EAAKH,KAAKyC,gBAC3BnK,EAAK6D,GAAG+F,UAAU,WAGtB5J,EAAK6D,GAAGiI,QAAQ,iBAEjB,CACH,IAAKnE,EACD,MAMJ,IAHAE,EAAKC,UAAUiE,YAAYlE,EAAKH,KAAK+C,oBACrC9C,GAAgB,EAEZE,EAAKH,KAAKmB,WACV,MAGJ1K,GAAEqG,KAAKqD,EAAKkD,KAAKnL,MAAO,SAASI,GACxBA,EAAKqF,QAAWwC,EAAKH,KAAKwC,aAC3BlK,EAAK6D,GAAGkG,UAAU,UAEjB/J,EAAKoF,UAAayC,EAAKH,KAAKyC,eAC7BnK,EAAK6D,GAAG+F,UAAU,UAGtB5J,EAAK6D,GAAGiI,QAAQ,cAK5B1N,EAAEE,QAAQ0N,OAAOjN,KAAK4M,iBACtB5M,KAAK4M,mBAEA9D,EAAKH,KAAKmB,YAA6C,gBAAxBhB,GAAKH,KAAK2C,UAAwB,CAClE,GAAI4B,GAAY7N,EAAEyJ,EAAKH,KAAK2C,UACvB4B,GAAUC,KAAK,cAChBD,EAAUE,WACNC,OAAQ,IAAMvE,EAAKH,KAAKQ,YAGhC+D,EACKI,GAAG,WAAY,SAASC,EAAOC,GAC5B,GAAI1I,GAAKzF,EAAEmO,EAAGxC,WACV/J,EAAO6D,EAAGqI,KAAK,kBACflM,GAAKwM,QAAU3E,GAGnBA,EAAK4E,sBAAsB5I,KAE9BwI,GAAG,UAAW,SAASC,EAAOC,GAC3B,GAAI1I,GAAKzF,EAAEmO,EAAGxC,WACV/J,EAAO6D,EAAGqI,KAAK,kBACflM,GAAKwM,QAAU3E,GAGnBA,EAAK6E,sBAAsB7I,KAIvC,IAAKgE,EAAKH,KAAKmB,YAAchB,EAAKH,KAAKiF,cAAe,CAClD,GAAIC,GAAkB,KAElBC,EAAS,SAASP,EAAOC,GACzB,GAAI1I,GAAK+I,EACL5M,EAAO6D,EAAGqI,KAAK,mBACfY,EAAMjF,EAAKkF,iBAAiBR,EAAGS,QAAQ,GACvCzN,EAAI2G,KAAKjG,IAAI,EAAG6M,EAAIvN,GACpBE,EAAIyG,KAAKjG,IAAI,EAAG6M,EAAIrN,EACxB,IAAKO,EAAKiN,OAsBH,CACH,IAAKpF,EAAKkD,KAAKjE,YAAY9G,EAAMT,EAAGE,GAChC,MAEJoI,GAAKkD,KAAKzG,SAAStE,EAAMT,EAAGE,GAC5BoI,EAAK2D,6BA1BLxL,GAAKiN,QAAS,EAEdjN,EAAK6D,GAAKA,EACV7D,EAAKT,EAAIA,EACTS,EAAKP,EAAIA,EACToI,EAAKkD,KAAKlF,aACVgC,EAAKkD,KAAKxD,YAAYvH,GACtB6H,EAAKkD,KAAKhF,QAAQ/F,GAElB6H,EAAKC,UAAU+D,OAAOhE,EAAKyD,aAC3BzD,EAAKyD,YACAlC,KAAK,YAAapJ,EAAKT,GACvB6J,KAAK,YAAapJ,EAAKP,GACvB2J,KAAK,gBAAiBpJ,EAAKR,OAC3B4J,KAAK,iBAAkBpJ,EAAKN,QAC5BwN,OACLlN,EAAK6D,GAAKgE,EAAKyD,YACftL,EAAKmN,aAAenN,EAAKT,EACzBS,EAAKoN,aAAepN,EAAKP,EAEzBoI,EAAK2D,yBAUbpN,GAAEyJ,EAAKC,WAAWqE,WACdC,OAAQ,SAASvI,GACbA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACnB,SAAIlM,GAAQA,EAAKwM,QAAU3E,IAGpBhE,EAAGwJ,GAAGxF,EAAKH,KAAKiF,iBAAkB,EAAO,mBAAqB9E,EAAKH,KAAKiF,gBAEnFW,KAAM,SAAShB,EAAOC,GAClB,GACI1I,IADSgE,EAAKC,UAAUkF,SACnB5O,EAAEmO,EAAGxC,YACVa,EAAY/C,EAAK+C,YACjBpC,EAAaX,EAAKW,aAClB+E,EAAW1J,EAAGqI,KAAK,mBAEnB1M,EAAQ+N,EAAWA,EAAS/N,MAAS0G,KAAKsH,KAAK3J,EAAG4J,aAAe7C,GACjElL,EAAS6N,EAAWA,EAAS7N,OAAUwG,KAAKsH,KAAK3J,EAAG6J,cAAgBlF,EAExEoE,GAAkB/I,CAElB,IAAI7D,GAAO6H,EAAKkD,KAAKhG,cAAcvF,MAAOA,EAAOE,OAAQA,EAAQuN,QAAQ,EAAOU,YAAY,GAC5F9J,GAAGqI,KAAK,kBAAmBlM,GAC3B6D,EAAGqI,KAAK,uBAAwBqB,GAEhC1J,EAAGwI,GAAG,OAAQQ,IAElBe,IAAK,SAAStB,EAAOC,GACjB,GAAI1I,GAAKzF,EAAEmO,EAAGxC,UACdlG,GAAGgK,OAAO,OAAQhB,EAClB,IAAI7M,GAAO6D,EAAGqI,KAAK,kBACnBlM,GAAK6D,GAAK,KACVgE,EAAKkD,KAAKpE,WAAW3G,GACrB6H,EAAKyD,YAAYwC,SACjBjG,EAAK2D,yBACL3H,EAAGqI,KAAK,kBAAmBrI,EAAGqI,KAAK,0BAEvC6B,KAAM,SAASzB,EAAOC,GAClB1E,EAAKyD,YAAYwC,QAEjB,IAAI9N,GAAO5B,EAAEmO,EAAGxC,WAAWmC,KAAK,kBAChClM,GAAKwM,MAAQ3E,CACb,IAAIhE,GAAKzF,EAAEmO,EAAGxC,WAAWrD,OAAM,EAC/B7C,GAAGqI,KAAK,kBAAmBlM,GAC3B5B,EAAEmO,EAAGxC,WAAW7I,SAChBlB,EAAK6D,GAAKA,EACVgE,EAAKyD,YAAYC,OACjB1H,EACKuF,KAAK,YAAapJ,EAAKT,GACvB6J,KAAK,YAAapJ,EAAKP,GACvB2J,KAAK,gBAAiBpJ,EAAKR,OAC3B4J,KAAK,iBAAkBpJ,EAAKN,QAC5BiL,SAAS9C,EAAKH,KAAKQ,WACnB8F,WAAW,SACXC,kBACAC,WAAW,aACXnC,YAAY,4DACZ8B,OAAO,OAAQhB,GACpBhF,EAAKC,UAAU+D,OAAOhI,GACtBgE,EAAKsG,uBAAuBtK,EAAI7D,GAChC6H,EAAK2D,yBACL3D,EAAKuG,sBAELvG,EAAKkD,KAAKvD;;;AA80B1B,MAx0BAC,GAAUxI,UAAUmP,oBAAsB,SAASC,GAC/C,GAAIpD,GAAWlM,KAAKgM,KAAKnF,gBACrB0I,GAAa,EAEbC,IACAtD,IAAYA,EAAS9B,SACrBoF,EAAY9H,KAAKwE,GACjBqD,GAAa,IAGbA,GAAcD,KAAiB,IAC/BtP,KAAK+I,UAAUgE,QAAQ,SAAUyC,IAIzC9G,EAAUxI,UAAUuP,iBAAmB,WAC/BzP,KAAKgM,KAAKzH,aAAevE,KAAKgM,KAAKzH,YAAY6F,OAAS,IACxDpK,KAAK+I,UAAUgE,QAAQ,SAAU3N,EAAE4B,IAAIhB,KAAKgM,KAAKzH,YAAanF,EAAEuI,SAChE3H,KAAKgM,KAAKzH,iBAIlBmE,EAAUxI,UAAUwP,oBAAsB,WAClC1P,KAAKgM,KAAKxH,eAAiBxE,KAAKgM,KAAKxH,cAAc4F,OAAS,IAC5DpK,KAAK+I,UAAUgE,QAAQ,WAAY3N,EAAE4B,IAAIhB,KAAKgM,KAAKxH,cAAepF,EAAEuI,SACpE3H,KAAKgM,KAAKxH,mBAIlBkE,EAAUxI,UAAU6L,YAAc,WAC1B/L,KAAK2P,WACLvP,EAAM8B,iBAAiBlC,KAAK2P,WAEhC3P,KAAK2P,UAAY,oBAAsC,IAAhBxI,KAAKuD,UAAmBC,UAC/D3K,KAAK4P,QAAUxP,EAAMkB,iBAAiBtB,KAAK2P,WACtB,OAAjB3P,KAAK4P,UACL5P,KAAK4P,QAAQC,KAAO,IAI5BnH,EAAUxI,UAAU+L,cAAgB,SAAS5E,GACzC,GAAqB,OAAjBrH,KAAK4P,SAA4C,mBAAjB5P,MAAK4P,QAAzC,CAIA,GAEIE,GAFAC,EAAS,IAAM/P,KAAK2I,KAAK8B,OAAS,KAAOzK,KAAK2I,KAAKQ,UACnDL,EAAO9I,IAQX,IALwB,mBAAbqH,KACPA,EAAYrH,KAAK4P,QAAQC,KACzB7P,KAAK+L,cACL/L,KAAKyM,0BAEJzM,KAAK2I,KAAKc,cAGW,IAAtBzJ,KAAK4P,QAAQC,MAAcxI,GAAarH,KAAK4P,QAAQC,QAUrDC,EANC9P,KAAK2I,KAAKgB,gBAAkB3J,KAAK2I,KAAK8C,iBAAmBzL,KAAK2I,KAAK6C,mBAMxD,SAASwE,EAAQC,GACzB,MAAKD,IAAWC,EAIT,SAAYnH,EAAKH,KAAKc,WAAauG,EAAUlH,EAAKH,KAAK8C,gBAAkB,OAC1E3C,EAAKH,KAAKgB,eAAiBsG,EAAanH,EAAKH,KAAK6C,oBAAsB,IAJlE1C,EAAKH,KAAKc,WAAauG,EAASlH,EAAKH,KAAKgB,eAAiBsG,EAC/DnH,EAAKH,KAAK8C,gBARV,SAASuE,EAAQC,GACzB,MAAQnH,GAAKH,KAAKc,WAAauG,EAASlH,EAAKH,KAAKgB,eAAiBsG,EAC/DnH,EAAKH,KAAK8C,gBAaI,IAAtBzL,KAAK4P,QAAQC,MACbzP,EAAMgC,cAAcpC,KAAK4P,QAASG,EAAQ,eAAiBD,EAAU,EAAG,GAAK,IAAK,GAGlFzI,EAAYrH,KAAK4P,QAAQC,MAAM,CAC/B,IAAK,GAAInK,GAAI1F,KAAK4P,QAAQC,KAAMnK,EAAI2B,IAAa3B,EAC7CtF,EAAMgC,cAAcpC,KAAK4P,QACrBG,EAAS,qBAAuBrK,EAAI,GAAK,KACzC,WAAaoK,EAAUpK,EAAI,EAAGA,GAAK,IACnCA,GAEJtF,EAAMgC,cAAcpC,KAAK4P,QACrBG,EAAS,yBAA2BrK,EAAI,GAAK,KAC7C,eAAiBoK,EAAUpK,EAAI,EAAGA,GAAK,IACvCA,GAEJtF,EAAMgC,cAAcpC,KAAK4P,QACrBG,EAAS,yBAA2BrK,EAAI,GAAK,KAC7C,eAAiBoK,EAAUpK,EAAI,EAAGA,GAAK,IACvCA,GAEJtF,EAAMgC,cAAcpC,KAAK4P,QACrBG,EAAS,eAAiBrK,EAAI,KAC9B,QAAUoK,EAAUpK,EAAGA,GAAK,IAC5BA,EAGR1F,MAAK4P,QAAQC,KAAOxI,KAI5BqB,EAAUxI,UAAUuM,uBAAyB,WACzC,IAAIzM,KAAKgM,KAAK3H,eAAd,CAGA,GAAI1D,GAASX,KAAKgM,KAAK7D,eACvBnI,MAAK+I,UAAUsB,KAAK,yBAA0B1J,GACzCX,KAAK2I,KAAKc,aAGVzJ,KAAK2I,KAAKgB,eAEJ3J,KAAK2I,KAAK8C,iBAAmBzL,KAAK2I,KAAK6C,mBAC9CxL,KAAK+I,UAAU4C,IAAI,SAAWhL,GAAUX,KAAK2I,KAAKc,WAAazJ,KAAK2I,KAAKgB,gBACrE3J,KAAK2I,KAAKgB,eAAkB3J,KAAK2I,KAAK8C,gBAE1CzL,KAAK+I,UAAU4C,IAAI,SAAU,SAAYhL,EAAUX,KAAK2I,KAAe,WAAK3I,KAAK2I,KAAK8C,gBAClF,OAAU9K,GAAUX,KAAK2I,KAAKgB,eAAiB,GAAM3J,KAAK2I,KAAK6C,oBAAsB,KANzFxL,KAAK+I,UAAU4C,IAAI,SAAWhL,EAAUX,KAAK2I,KAAe,WAAK3I,KAAK2I,KAAK8C,mBAUnF/C,EAAUxI,UAAU2M,iBAAmB,WACnC,OAAQtN,OAAO2Q,YAAczO,SAAS0O,gBAAgBC,aAAe3O,SAAS4O,KAAKD,cAC/EpQ,KAAK2I,KAAKrB,UAGlBoB,EAAUxI,UAAUwN,sBAAwB,SAAS5I,GACjD,GAAIgE,GAAO9I,KACPiB,EAAO5B,EAAEyF,GAAIqI,KAAK,oBAElBlM,EAAKqP,gBAAmBxH,EAAKH,KAAK2C,YAGtCrK,EAAKqP,eAAiBC,WAAW,WAC7BzL,EAAG8G,SAAS,4BACZ3K,EAAKuP,kBAAmB,GACzB1H,EAAKH,KAAK4C,iBAGjB7C,EAAUxI,UAAUyN,sBAAwB,SAAS7I,GACjD,GAAI7D,GAAO5B,EAAEyF,GAAIqI,KAAK,kBAEjBlM,GAAKqP,iBAGVG,aAAaxP,EAAKqP,gBAClBrP,EAAKqP,eAAiB,KACtBxL,EAAGkI,YAAY,4BACf/L,EAAKuP,kBAAmB,IAG5B9H,EAAUxI,UAAUkP,uBAAyB,SAAStK,EAAI7D,GACtD,GAAoB,mBAAT5B,GAAEmO,GAAb,CAGA,GAEI3B,GACApC,EAHAX,EAAO9I,KAKP0Q,EAAe,SAASnD,EAAOC,GAC/B,GAEI/M,GACAE,EAHAH,EAAI2G,KAAKwJ,MAAMnD,EAAGoD,SAASC,KAAOhF,GAClCnL,EAAIyG,KAAKM,OAAO+F,EAAGoD,SAASE,IAAMrH,EAAa,GAAKA,EASxD,IALkB,QAAd8D,EAAMwD,OACNtQ,EAAQ0G,KAAKwJ,MAAMnD,EAAGwD,KAAKvQ,MAAQoL,GACnClL,EAASwG,KAAKwJ,MAAMnD,EAAGwD,KAAKrQ,OAAS8I,IAGvB,QAAd8D,EAAMwD,KACFvQ,EAAI,GAAKA,GAAKsI,EAAKkD,KAAKvL,OAASC,EAAI,GACjCoI,EAAKH,KAAK2C,aAAc,GACxBxC,EAAK4E,sBAAsB5I,GAG/BtE,EAAIS,EAAKmN,aACT1N,EAAIO,EAAKoN,aAETvF,EAAKyD,YAAYwC,SACjBjG,EAAKyD,YAAYC,OACjB1D,EAAKkD,KAAKpE,WAAW3G,GACrB6H,EAAK2D,yBAELxL,EAAKgQ,mBAAoB,IAEzBnI,EAAK6E,sBAAsB7I,GAEvB7D,EAAKgQ,oBACLnI,EAAKkD,KAAKhF,QAAQ/F,GAClB6H,EAAKyD,YACAlC,KAAK,YAAa7J,GAClB6J,KAAK,YAAa3J,GAClB2J,KAAK,gBAAiB5J,GACtB4J,KAAK,iBAAkB1J,GACvBwN,OACLrF,EAAKC,UAAU+D,OAAOhE,EAAKyD,aAC3BtL,EAAK6D,GAAKgE,EAAKyD,YACftL,EAAKgQ,mBAAoB,QAG9B,IAAkB,UAAd1D,EAAMwD,MACTvQ,EAAI,EACJ,MAIHsI,GAAKkD,KAAKjE,YAAY9G,EAAMT,EAAGE,EAAGD,EAAOE,KAG9CmI,EAAKkD,KAAKzG,SAAStE,EAAMT,EAAGE,EAAGD,EAAOE,GACtCmI,EAAK2D,2BAGLyE,EAAgB,SAAS3D,EAAOC,GAChC1E,EAAKC,UAAU+D,OAAOhE,EAAKyD,YAC3B,IAAI4E,GAAI9R,EAAEW,KACV8I,GAAKkD,KAAKlF,aACVgC,EAAKkD,KAAKxD,YAAYvH,GACtB4K,EAAY/C,EAAK+C,WACjB,IAAIuF,GAAmBjK,KAAKsH,KAAK0C,EAAExC,cAAgBwC,EAAE9G,KAAK,kBAC1DZ,GAAaX,EAAKC,UAAUpI,SAAWwF,SAAS2C,EAAKC,UAAUsB,KAAK,2BACpEvB,EAAKyD,YACAlC,KAAK,YAAa8G,EAAE9G,KAAK,cACzBA,KAAK,YAAa8G,EAAE9G,KAAK,cACzBA,KAAK,gBAAiB8G,EAAE9G,KAAK,kBAC7BA,KAAK,iBAAkB8G,EAAE9G,KAAK,mBAC9B8D,OACLlN,EAAK6D,GAAKgE,EAAKyD,YACftL,EAAKmN,aAAenN,EAAKT,EACzBS,EAAKoN,aAAepN,EAAKP,EAEzBoE,EAAG+F,UAAU,SAAU,WAAYgB,GAAa5K,EAAKqG,UAAY,IACjExC,EAAG+F,UAAU,SAAU,YAAauG,GAAoBnQ,EAAKsG,WAAa,IAExD,eAAdgG,EAAMwD,MACNI,EAAEpM,KAAK,oBAAoBgI,QAAQ,gBAIvCsE,EAAc,SAAS9D,EAAOC,GAC9B,GAAI2D,GAAI9R,EAAEW,KACV,IAAKmR,EAAEhE,KAAK,mBAAZ,CAIA,GAAImE,IAAc,CAClBxI,GAAKyD,YAAYwC,SACjB9N,EAAK6D,GAAKqM,EACVrI,EAAKyD,YAAYC,OAEbvL,EAAKuP,kBACLc,GAAc,EACdxM,EAAGqK,WAAW,mBACdrK,EAAG3C,WAEH2G,EAAK6E,sBAAsB7I,GACtB7D,EAAKgQ,mBAQNE,EACK9G,KAAK,YAAapJ,EAAKmN,cACvB/D,KAAK,YAAapJ,EAAKoN,cACvBhE,KAAK,gBAAiBpJ,EAAKR,OAC3B4J,KAAK,iBAAkBpJ,EAAKN,QAC5BsO,WAAW,SAChBhO,EAAKT,EAAIS,EAAKmN,aACdnN,EAAKP,EAAIO,EAAKoN,aACdvF,EAAKkD,KAAKhF,QAAQ/F,IAflBkQ,EACK9G,KAAK,YAAapJ,EAAKT,GACvB6J,KAAK,YAAapJ,EAAKP,GACvB2J,KAAK,gBAAiBpJ,EAAKR,OAC3B4J,KAAK,iBAAkBpJ,EAAKN,QAC5BsO,WAAW,UAaxBnG,EAAK2D,yBACL3D,EAAKuG,oBAAoBiC,GAEzBxI,EAAKkD,KAAKvD,WAEV,IAAI8I,GAAcJ,EAAEpM,KAAK,cACrBwM,GAAYnH,QAAwB,cAAdmD,EAAMwD,OAC5BQ,EAAY9L,KAAK,SAASlD,EAAOuC,GAC7BzF,EAAEyF,GAAIqI,KAAK,aAAaP,oBAE5BuE,EAAEpM,KAAK,oBAAoBgI,QAAQ,gBAI3CjI,GACKkG,UAAU5L,EAAE6I,UAAWjI,KAAK2I,KAAKqC,WAC9BwG,YAAaxR,KAAK2I,KAAKqB,SAAWhK,KAAK+I,UAAU0I,SAAW,KAC5DC,MAAOR,EACPS,KAAMN,EACNO,KAAMlB,KAET7F,UAAUzL,EAAE6I,UAAWjI,KAAK2I,KAAKkC,WAC9B6G,MAAOR,EACPS,KAAMN,EACNpE,OAAQyD,MAGZzP,EAAKqF,QAAUtG,KAAK6M,oBAAsB7M,KAAK2I,KAAKwC,cACpDrG,EAAGkG,UAAU,YAGb/J,EAAKoF,UAAYrG,KAAK6M,oBAAsB7M,KAAK2I,KAAKyC,gBACtDtG,EAAG+F,UAAU,WAGjB/F,EAAGuF,KAAK,iBAAkBpJ,EAAKmE,OAAS,MAAQ,QAGpDsD,EAAUxI,UAAUmM,gBAAkB,SAASvH,EAAImC,GAC/CA,EAA4C,mBAAnBA,IAAiCA,CAC1D,IAAI6B,GAAO9I,IACX8E,GAAKzF,EAAEyF,GAEPA,EAAG8G,SAAS5L,KAAK2I,KAAKQ,UACtB,IAAIlI,GAAO6H,EAAKkD,KAAKhF,SACjBxG,EAAGsE,EAAGuF,KAAK,aACX3J,EAAGoE,EAAGuF,KAAK,aACX5J,MAAOqE,EAAGuF,KAAK,iBACf1J,OAAQmE,EAAGuF,KAAK,kBAChBnD,SAAUpC,EAAGuF,KAAK,qBAClB/C,SAAUxC,EAAGuF,KAAK,qBAClBhD,UAAWvC,EAAGuF,KAAK,sBACnB9C,UAAWzC,EAAGuF,KAAK,sBACnBjE,aAAchG,EAAMsC,OAAOoC,EAAGuF,KAAK,0BACnChE,SAAUjG,EAAMsC,OAAOoC,EAAGuF,KAAK,sBAC/B/D,OAAQlG,EAAMsC,OAAOoC,EAAGuF,KAAK,oBAC7BjF,OAAQhF,EAAMsC,OAAOoC,EAAGuF,KAAK,mBAC7BvF,GAAIA,EACJvD,GAAIuD,EAAGuF,KAAK,cACZoD,MAAO3E,GACR7B,EACHnC,GAAGqI,KAAK,kBAAmBlM,GAE3BjB,KAAKoP,uBAAuBtK,EAAI7D,IAGpCyH,EAAUxI,UAAUoM,aAAe,SAASuF,GACpCA,EACA7R,KAAK+I,UAAU6C,SAAS,sBAExB5L,KAAK+I,UAAUiE,YAAY,uBAInCtE,EAAUxI,UAAU4R,UAAY,SAAShN,EAAItE,EAAGE,EAAGD,EAAOE,EAAQyF,EAAckB,EAAUJ,EACtFK,EAAWF,EAAW9F,GAkBtB,MAjBAuD,GAAKzF,EAAEyF,GACS,mBAALtE,IAAoBsE,EAAGuF,KAAK,YAAa7J,GACpC,mBAALE,IAAoBoE,EAAGuF,KAAK,YAAa3J,GAChC,mBAATD,IAAwBqE,EAAGuF,KAAK,gBAAiB5J,GACvC,mBAAVE,IAAyBmE,EAAGuF,KAAK,iBAAkB1J,GACnC,mBAAhByF,IAA+BtB,EAAGuF,KAAK,wBAAyBjE,EAAe,MAAQ,MAC3E,mBAAZkB,IAA2BxC,EAAGuF,KAAK,oBAAqB/C,GAC5C,mBAAZJ,IAA2BpC,EAAGuF,KAAK,oBAAqBnD,GAC3C,mBAAbK,IAA4BzC,EAAGuF,KAAK,qBAAsB9C,GAC7C,mBAAbF,IAA4BvC,EAAGuF,KAAK,qBAAsBhD,GACpD,mBAAN9F,IAAqBuD,EAAGuF,KAAK,aAAc9I,GACtDvB,KAAK+I,UAAU+D,OAAOhI,GACtB9E,KAAKqM,gBAAgBvH,GAAI,GACzB9E,KAAKyP,mBACLzP,KAAKyM,yBACLzM,KAAKqP,qBAAoB,GAElBvK,GAGX4D,EAAUxI,UAAU6R,WAAa,SAASjN,GAOtC,MANAA,GAAKzF,EAAEyF,GACP9E,KAAKqM,gBAAgBvH,GAAI,GACzB9E,KAAKyP,mBACLzP,KAAKyM,yBACLzM,KAAKqP,qBAAoB,GAElBvK,GAGX4D,EAAUxI,UAAU8R,UAAY,SAASxR,EAAGE,EAAGD,EAAOE,EAAQyF,GAC1D,GAAInF,IAAQT,EAAGA,EAAGE,EAAGA,EAAGD,MAAOA,EAAOE,OAAQA,EAAQyF,aAAcA,EACpE,OAAOpG,MAAKgM,KAAK5D,+BAA+BnH,IAGpDyH,EAAUxI,UAAU+R,aAAe,SAASnN,EAAI+C,GAC5CA,EAAmC,mBAAfA,IAAoCA,EACxD/C,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK;;AAGdlM,IACDA,EAAOjB,KAAKgM,KAAKnH,mBAAmBC,IAGxC9E,KAAKgM,KAAKpE,WAAW3G,EAAM4G,GAC3B/C,EAAGqK,WAAW,mBACdnP,KAAKyM,yBACD5E,GACA/C,EAAG3C,SAEPnC,KAAKqP,qBAAoB,GACzBrP,KAAK0P,uBAGThH,EAAUxI,UAAUgS,UAAY,SAASrK,GACrCzI,EAAEqG,KAAKzF,KAAKgM,KAAKnL,MAAOzB,EAAEkG,KAAK,SAASrE,GACpCjB,KAAKiS,aAAahR,EAAK6D,GAAI+C,IAC5B7H,OACHA,KAAKgM,KAAKnL,SACVb,KAAKyM,0BAGT/D,EAAUxI,UAAUiS,QAAU,SAASC,GACnC/S,EAAEE,QAAQ8S,IAAI,SAAUrS,KAAK4M,iBAC7B5M,KAAKsS,UACoB,mBAAdF,IAA8BA,EAIrCpS,KAAK+I,UAAU5G,UAHfnC,KAAKkS,WAAU,GACflS,KAAK+I,UAAUoG,WAAW,cAI9B/O,EAAM8B,iBAAiBlC,KAAK2P,WACxB3P,KAAKgM,OACLhM,KAAKgM,KAAO,OAIpBtD,EAAUxI,UAAU2K,UAAY,SAAS/F,EAAIzB,GACzC,GAAIyF,GAAO9I,IAgBX,OAfA8E,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACA,oBAARlM,IAAgC,OAATA,GAAiC,mBAAT5B,GAAEmO,KAI5DvM,EAAKoF,UAAahD,EACdpC,EAAKoF,UAAYyC,EAAK+D,mBACtB/H,EAAG+F,UAAU,WAEb/F,EAAG+F,UAAU,aAGd7K,MAGX0I,EAAUxI,UAAUqS,QAAU,SAASzN,EAAIzB,GACvC,GAAIyF,GAAO9I,IAkBX,OAjBA8E,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACA,oBAARlM,IAAgC,OAATA,GAAiC,mBAAT5B,GAAEmO,KAI5DvM,EAAKqF,QAAWjD,EACZpC,EAAKqF,QAAUwC,EAAK+D,oBACpB/H,EAAGkG,UAAU,WACblG,EAAGkI,YAAY,yBAEflI,EAAGkG,UAAU,UACblG,EAAG8G,SAAS,2BAGb5L,MAGX0I,EAAUxI,UAAUsS,WAAa,SAASC,EAAUC,GAChD1S,KAAKuS,QAAQvS,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,WAAYsJ,GAC7DC,IACA1S,KAAK2I,KAAKwC,aAAesH,IAIjC/J,EAAUxI,UAAUyS,aAAe,SAASF,EAAUC,GAClD1S,KAAK6K,UAAU7K,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,WAAYsJ,GAC/DC,IACA1S,KAAK2I,KAAKyC,eAAiBqH,IAInC/J,EAAUxI,UAAUoS,QAAU,WAC1BtS,KAAKuS,QAAQvS,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,YAAY,GACjEnJ,KAAK6K,UAAU7K,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,YAAY,GACnEnJ,KAAK+I,UAAUgE,QAAQ,YAG3BrE,EAAUxI,UAAU2R,OAAS,WACzB7R,KAAKuS,QAAQvS,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,YAAY,GACjEnJ,KAAK6K,UAAU7K,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,YAAY,GACnEnJ,KAAK+I,UAAUgE,QAAQ,WAG3BrE,EAAUxI,UAAUkF,OAAS,SAASN,EAAIzB,GAYtC,MAXAyB,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACA,oBAARlM,IAAgC,OAATA,IAIlCA,EAAKmE,OAAU/B,IAAO,EACtByB,EAAGuF,KAAK,iBAAkBpJ,EAAKmE,OAAS,MAAQ,SAE7CpF,MAGX0I,EAAUxI,UAAUmH,UAAY,SAASvC,EAAIzB,GAczC,MAbAyB,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACC,oBAATlM,IAAiC,OAATA,IAI9B2R,MAAMvP,KACPpC,EAAKoG,UAAahE,IAAO,EACzByB,EAAGuF,KAAK,qBAAsBhH,OAG/BrD,MAGX0I,EAAUxI,UAAUqH,UAAY,SAASzC,EAAIzB,GAczC,MAbAyB,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACC,oBAATlM,IAAiC,OAATA,IAI9B2R,MAAMvP,KACPpC,EAAKsG,UAAalE,IAAO,EACzByB,EAAGuF,KAAK,qBAAsBhH,OAG/BrD,MAGX0I,EAAUxI,UAAUgH,SAAW,SAASpC,EAAIzB,GAcxC,MAbAyB,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACC,oBAATlM,IAAiC,OAATA,IAI9B2R,MAAMvP,KACPpC,EAAKiG,SAAY7D,IAAO,EACxByB,EAAGuF,KAAK,oBAAqBhH,OAG9BrD,MAGX0I,EAAUxI,UAAUoH,SAAW,SAASxC,EAAIzB,GAcxC,MAbAyB,GAAKzF,EAAEyF,GACPA,EAAGW,KAAK,SAASlD,EAAOuC,GACpBA,EAAKzF,EAAEyF,EACP,IAAI7D,GAAO6D,EAAGqI,KAAK,kBACC,oBAATlM,IAAiC,OAATA,IAI9B2R,MAAMvP,KACPpC,EAAKqG,SAAYjE,IAAO,EACxByB,EAAGuF,KAAK,oBAAqBhH,OAG9BrD,MAGX0I,EAAUxI,UAAU2S,eAAiB,SAAS/N,EAAIgO,GAC9ChO,EAAKzF,EAAEyF,GAAIiO,OACX,IAAI9R,GAAO6D,EAAGqI,KAAK,kBACnB,IAAmB,mBAARlM,IAAgC,OAATA,EAAlC,CAIA,GAAI6H,GAAO9I,IAEX8I,GAAKkD,KAAKlF,aACVgC,EAAKkD,KAAKxD,YAAYvH,GAEtB6R,EAASpM,KAAK1G,KAAM8E,EAAI7D,GAExB6H,EAAK2D,yBACL3D,EAAKuG,sBAELvG,EAAKkD,KAAKvD,cAGdC,EAAUxI,UAAU+M,OAAS,SAASnI,EAAIrE,EAAOE,GAC7CX,KAAK6S,eAAe/N,EAAI,SAASA,EAAI7D,GACjCR,EAAmB,OAAVA,GAAkC,mBAATA,GAAwBA,EAAQQ,EAAKR,MACvEE,EAAqB,OAAXA,GAAoC,mBAAVA,GAAyBA,EAASM,EAAKN,OAE3EX,KAAKgM,KAAKzG,SAAStE,EAAMA,EAAKT,EAAGS,EAAKP,EAAGD,EAAOE,MAIxD+H,EAAUxI,UAAU8S,KAAO,SAASlO,EAAItE,EAAGE,GACvCV,KAAK6S,eAAe/N,EAAI,SAASA,EAAI7D,GACjCT,EAAW,OAANA,GAA0B,mBAALA,GAAoBA,EAAIS,EAAKT,EACvDE,EAAW,OAANA,GAA0B,mBAALA,GAAoBA,EAAIO,EAAKP,EAEvDV,KAAKgM,KAAKzG,SAAStE,EAAMT,EAAGE,EAAGO,EAAKR,MAAOQ,EAAKN,WAIxD+H,EAAUxI,UAAU+S,OAAS,SAASnO,EAAItE,EAAGE,EAAGD,EAAOE,GACnDX,KAAK6S,eAAe/N,EAAI,SAASA,EAAI7D,GACjCT,EAAW,OAANA,GAA0B,mBAALA,GAAoBA,EAAIS,EAAKT,EACvDE,EAAW,OAANA,GAA0B,mBAALA,GAAoBA,EAAIO,EAAKP,EACvDD,EAAmB,OAAVA,GAAkC,mBAATA,GAAwBA,EAAQQ,EAAKR,MACvEE,EAAqB,OAAXA,GAAoC,mBAAVA,GAAyBA,EAASM,EAAKN,OAE3EX,KAAKgM,KAAKzG,SAAStE,EAAMT,EAAGE,EAAGD,EAAOE,MAI9C+H,EAAUxI,UAAUyJ,eAAiB,SAAStG,EAAK6P,GAC/C,GAAkB,mBAAP7P,GACP,MAAOrD,MAAK2I,KAAKgB,cAGrB,IAAIwJ,GAAa/S,EAAMgD,YAAYC,EAE/BrD,MAAK2I,KAAK6C,qBAAuB2H,EAAWxP,MAAQ3D,KAAK2I,KAAKhI,SAAWwS,EAAWxS,SAGxFX,KAAK2I,KAAK6C,mBAAqB2H,EAAWxP,KAC1C3D,KAAK2I,KAAKgB,eAAiBwJ,EAAWxS,OAEjCuS,GACDlT,KAAKiM,kBAIbvD,EAAUxI,UAAUuJ,WAAa,SAASpG,EAAK6P,GAC3C,GAAkB,mBAAP7P,GAAoB,CAC3B,GAAIrD,KAAK2I,KAAKc,WACV,MAAOzJ,MAAK2I,KAAKc,UAErB,IAAI0H,GAAInR,KAAK+I,UAAUqD,SAAS,IAAMpM,KAAK2I,KAAKQ,WAAW4J,OAC3D,OAAO5L,MAAKsH,KAAK0C,EAAExC,cAAgBwC,EAAE9G,KAAK,mBAE9C,GAAI8I,GAAa/S,EAAMgD,YAAYC,EAE/BrD,MAAK2I,KAAK8C,iBAAmB0H,EAAW7P,YAActD,KAAK2I,KAAKhI,SAAWwS,EAAWxS,SAG1FX,KAAK2I,KAAK8C,eAAiB0H,EAAWxP,KACtC3D,KAAK2I,KAAKc,WAAa0J,EAAWxS,OAE7BuS,GACDlT,KAAKiM,kBAKbvD,EAAUxI,UAAU2L,UAAY,WAC5B,MAAO1E,MAAKwJ,MAAM3Q,KAAK+I,UAAU2F,aAAe1O,KAAK2I,KAAKlI,QAG9DiI,EAAUxI,UAAU8N,iBAAmB,SAAS4C,EAAUwC,GACtD,GAAIC,GAAoC,mBAAbD,IAA4BA,EACnDpT,KAAK+I,UAAUkF,SAAWjO,KAAK+I,UAAU6H,WACzC0C,EAAe1C,EAASC,KAAOwC,EAAaxC,KAC5C0C,EAAc3C,EAASE,IAAMuC,EAAavC,IAE1C0C,EAAcrM,KAAKM,MAAMzH,KAAK+I,UAAUtI,QAAUT,KAAK2I,KAAKlI,OAC5DgT,EAAYtM,KAAKM,MAAMzH,KAAK+I,UAAUpI,SAAWwF,SAASnG,KAAK+I,UAAUsB,KAAK,2BAElF,QAAQ7J,EAAG2G,KAAKM,MAAM6L,EAAeE,GAAc9S,EAAGyG,KAAKM,MAAM8L,EAAcE,KAGnF/K,EAAUxI,UAAUuE,YAAc,WAC9BzE,KAAKgM,KAAKvH,eAGdiE,EAAUxI,UAAUwE,OAAS,WACzB1E,KAAKgM,KAAKtH,SACV1E,KAAKyM,0BAGT/D,EAAUxI,UAAUsF,YAAc,SAAShF,EAAGE,EAAGD,EAAOE,GACpD,MAAOX,MAAKgM,KAAKxG,YAAYhF,EAAGE,EAAGD,EAAOE,IAG9C+H,EAAUxI,UAAUwT,UAAY,SAASC,GACrC3T,KAAK2I,KAAKmB,WAAc6J,KAAgB,EACxC3T,KAAKwS,YAAYmB,GACjB3T,KAAK2S,cAAcgB,GACnB3T,KAAK8L,mBAGTpD,EAAUxI,UAAU4L,gBAAkB,WAClC,GAAI8H,GAAkB,mBAElB5T,MAAK2I,KAAKmB,cAAe,EACzB9J,KAAK+I,UAAU6C,SAASgI,GAExB5T,KAAK+I,UAAUiE,YAAY4G,IAInClL,EAAUxI,UAAU2T,kBAAoB,SAASC,EAAUC,GACvD/T,KAAKgM,KAAK9G,aACVlF,KAAKgM,KAAKvH,aAEV,KAAK,GADDxD,MACKyE,EAAI,EAAGA,EAAI1F,KAAKgM,KAAKnL,MAAMuJ,OAAQ1E,IACxCzE,EAAOjB,KAAKgM,KAAKnL,MAAM6E,GACvB1F,KAAKiT,OAAOhS,EAAK6D,GAAIqC,KAAKwJ,MAAM1P,EAAKT,EAAIuT,EAAWD,GAAWE,OAC3D7M,KAAKwJ,MAAM1P,EAAKR,MAAQsT,EAAWD,GAAWE,OAEtDhU,MAAKgM,KAAKtH,UAGdgE,EAAUxI,UAAU+T,aAAe,SAASC,EAAUC,GAClDnU,KAAK+I,UAAUiE,YAAY,cAAgBhN,KAAK2I,KAAKlI,OACjD0T,KAAmB,GACnBnU,KAAK6T,kBAAkB7T,KAAK2I,KAAKlI,MAAOyT,GAE5ClU,KAAK2I,KAAKlI,MAAQyT,EAClBlU,KAAKgM,KAAKvL,MAAQyT,EAClBlU,KAAK+I,UAAU6C,SAAS,cAAgBsI,IAI5CjQ,EAAgB/D,UAAUkU,aAAe5U,EAASyE,EAAgB/D,UAAUuE,aAC5ER,EAAgB/D,UAAUmU,gBAAkB7U,EAASyE,EAAgB/D,UAAU+E,eAC3E,kBAAmB,kBACvBhB,EAAgB/D,UAAUoU,cAAgB9U,EAASyE,EAAgB/D,UAAUsF,YACzE,gBAAiB,eACrBvB,EAAgB/D,UAAUqU,YAAc/U,EAASyE,EAAgB/D,UAAUgF,WACvE,cAAe,cACnBjB,EAAgB/D,UAAUsU,YAAchV,EAASyE,EAAgB/D,UAAUyE,WACvE,cAAe,cACnBV,EAAgB/D,UAAUuU,cAAgBjV,EAASyE,EAAgB/D,UAAU8F,aACzE,gBAAiB,gBACrB/B,EAAgB/D,UAAUwU,YAAclV,EAASyE,EAAgB/D,UAAU4G,WACvE,cAAe,cACnB7C,EAAgB/D,UAAUyU,gBAAkBnV,EAASyE,EAAgB/D,UAAU2G,cAC3E,kBAAmB,iBACvB5C,EAAgB/D,UAAU0U,SAAWpV,EAASyE,EAAgB/D,UAAU8G,QACpE,WAAY,aAChB/C,EAAgB/D,UAAU2U,YAAcrV,EAASyE,EAAgB/D,UAAU0H,WACvE,cAAe,cACnB3D,EAAgB/D,UAAU4U,cAAgBtV,EAASyE,EAAgB/D,UAAU6H,YACzE,gBAAiB,eACrB9D,EAAgB/D,UAAU6U,UAAYvV,EAASyE,EAAgB/D,UAAUqF,SACrE,YAAa,YACjBtB,EAAgB/D,UAAU8U,gBAAkBxV,EAASyE,EAAgB/D,UAAUiI,cAC3E,kBAAmB,iBACvBlE,EAAgB/D,UAAU+U,aAAezV,EAASyE,EAAgB/D,UAAUsI,YACxE,eAAgB,eACpBvE,EAAgB/D,UAAUgV,WAAa1V,EAASyE,EAAgB/D,UAAUuI,UACtE,aAAc,aAClBxE,EAAgB/D,UAAUiV,qCACtB3V,EAASyE,EAAgB/D,UAAUkI,+BACnC,uCAAwC,kCAC5CM,EAAUxI,UAAUkV,sBAAwB5V,EAASkJ,EAAUxI,UAAUmP,oBACrE,wBAAyB,uBAC7B3G,EAAUxI,UAAUmV,aAAe7V,EAASkJ,EAAUxI,UAAU6L,YAC5D,eAAgB,eACpBrD,EAAUxI,UAAUoV,eAAiB9V,EAASkJ,EAAUxI,UAAU+L,cAC9D,iBAAkB,iBACtBvD,EAAUxI,UAAUqV,yBAA2B/V,EAASkJ,EAAUxI,UAAUuM,uBACxE,2BAA4B,0BAChC/D,EAAUxI,UAAUsV,oBAAsBhW,EAASkJ,EAAUxI,UAAU2M,iBACnE,sBAAsB,oBAC1BnE,EAAUxI,UAAUuV,iBAAmBjW,EAASkJ,EAAUxI,UAAUmM,gBAChE,mBAAoB,mBACxB3D,EAAUxI,UAAUwV,cAAgBlW,EAASkJ,EAAUxI,UAAUoM,aAC7D,gBAAiB,gBACrB5D,EAAUxI,UAAUyV,WAAanW,EAASkJ,EAAUxI,UAAU4R,UAC1D,aAAc,aAClBpJ,EAAUxI,UAAU0V,YAAcpW,EAASkJ,EAAUxI,UAAU6R,WAC3D,cAAe,cACnBrJ,EAAUxI,UAAU2V,YAAcrW,EAASkJ,EAAUxI,UAAU8R,UAC3D,cAAe,aACnBtJ,EAAUxI,UAAU4V,cAAgBtW,EAASkJ,EAAUxI,UAAU+R,aAC7D,gBAAiB,gBACrBvJ,EAAUxI,UAAU6V,WAAavW,EAASkJ,EAAUxI,UAAUgS,UAC1D,aAAc,aAClBxJ,EAAUxI,UAAU8V,WAAaxW,EAASkJ,EAAUxI,UAAUqH,UAC1D,aAAc,aAClBmB,EAAUxI,UAAU0J,UAAYpK,EAASkJ,EAAUxI,UAAUoH,SACzD,YAAa,YACjBoB,EAAUxI,UAAU+V,gBAAkBzW,EAASkJ,EAAUxI,UAAU2S,eAC/D,kBAAmB,kBACvBnK,EAAUxI,UAAUsJ,YAAchK,EAASkJ,EAAUxI,UAAUuJ,WAC3D,cAAe,cACnBf,EAAUxI,UAAUgW,WAAa1W,EAASkJ,EAAUxI,UAAU2L,UAC1D,aAAc,aAClBnD,EAAUxI,UAAUiW,oBAAsB3W,EAASkJ,EAAUxI,UAAU8N,iBACnE,sBAAuB,oBAC3BtF,EAAUxI,UAAUkU,aAAe5U,EAASkJ,EAAUxI,UAAUuE,YAC5D,eAAgB,eACpBiE,EAAUxI,UAAUoU,cAAgB9U,EAASkJ,EAAUxI,UAAUsF,YAC7D,gBAAiB,eACrBkD,EAAUxI,UAAUkW,WAAa5W,EAASkJ,EAAUxI,UAAUwT,UAC1D,aAAc,aAClBhL,EAAUxI,UAAUmW,kBAAoB7W,EAASkJ,EAAUxI,UAAU4L,gBACjE,oBAAqB,mBAGzBxM,EAAMgX,YAAc5N,EAEpBpJ,EAAMgX,YAAYlW,MAAQA,EAC1Bd,EAAMgX,YAAYC,OAAStS,EAE3B5E,EAAEmX,GAAGC,UAAY,SAAS9N,GACtB,MAAO3I,MAAKyF,KAAK,WACb,GAAI0L,GAAI9R,EAAEW,KACLmR,GAAEhE,KAAK,cACRgE,EACKhE,KAAK,YAAa,GAAIzE,GAAU1I,KAAM2I,OAKhDrJ,EAAMgX","file":"gridstack.min.js"} \ No newline at end of file diff --git a/doc/README.md b/doc/README.md index 1f39cc77c..8ac690936 100644 --- a/doc/README.md +++ b/doc/README.md @@ -76,7 +76,8 @@ gridstack.js API - `height` - maximum rows amount. Default is `0` which means no maximum rows - `float` - enable floating widgets (default: `false`) See [example](http://troolee.github.io/gridstack.js/demo/float.html) - `itemClass` - widget class (default: `'grid-stack-item'`) -- `minWidth` - minimal width. If window width is less, grid will be shown in one-column mode. You need also update your css file (`@media (max-width: 768px) {...}`) with corresponding value (default: `768`) +- `minWidth` - minimal width. If window width is less, grid will be shown in one-column mode (default: `768`) +- `oneColumnModeClass` - class set on grid when in one column mode (default: 'grid-stack-one-column-mode') - `placeholderClass` - class for placeholder (default: `'grid-stack-placeholder'`) - `placeholderText` - placeholder default content (default: `''`) - `resizable` - allows to override jQuery UI resizable options. (default: `{autoHide: true, handles: 'se'}`) diff --git a/src/gridstack.js b/src/gridstack.js index a3e502a02..3fce57558 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -547,7 +547,8 @@ removable: false, removeTimeout: 2000, verticalMarginUnit: 'px', - cellHeightUnit: 'px' + cellHeightUnit: 'px', + oneColumnModeClass: opts.oneColumnModeClass || 'grid-stack-one-column-mode' }); if (this.opts.rtl === 'auto') { @@ -635,7 +636,7 @@ if (oneColumnMode) { return; } - + self.container.addClass(self.opts.oneColumnModeClass); oneColumnMode = true; self.grid._sortNodes(); @@ -659,6 +660,7 @@ return; } + self.container.removeClass(self.opts.oneColumnModeClass); oneColumnMode = false; if (self.opts.staticGrid) { diff --git a/src/gridstack.scss b/src/gridstack.scss index 5a612d63b..dbd6bfaa9 100644 --- a/src/gridstack.scss +++ b/src/gridstack.scss @@ -123,18 +123,18 @@ $animation_speed: .3s !default; &.grid-stack-animate .grid-stack-item.grid-stack-placeholder{ @include vendor(transition, left .0s, top .0s, height .0s, width .0s); } -} - -@media (max-width: 768px) { - .grid-stack-item { - position: relative !important; - width: auto !important; - left: 0 !important; - top: auto !important; - margin-bottom: $vertical_padding; - - .ui-resizable-handle { display: none; } - } - - .grid-stack { height: auto !important; } + + &.grid-stack-one-column-mode { + height: auto !important; + &> .grid-stack-item { + position: relative !important; + width: auto !important; + left: 0 !important; + top: auto !important; + margin-bottom: $vertical_padding; + max-width: none !important; + + &> .ui-resizable-handle { display: none; } + } + } } From 30b096d5f9666dbdc97bcd96643f52fdc8ee0d17 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Wed, 17 Aug 2016 23:29:59 -0700 Subject: [PATCH 08/52] dd plugin draft --- dist/gridstack.js | 86 ++++++++++++++++++++++++++++++++++-------- dist/gridstack.min.js | 26 ++++++++----- dist/gridstack.min.map | 2 +- src/gridstack.js | 86 ++++++++++++++++++++++++++++++++++-------- 4 files changed, 160 insertions(+), 40 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 3fce57558..5f73e5a4a 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -124,6 +124,60 @@ Utils.insert_css_rule = obsolete(Utils.insertCSSRule, 'insert_css_rule', 'insertCSSRule'); // jscs:enable requireCamelCaseOrUpperCaseIdentifiers + /** + * @class GridStackDragDropPlugin + * Base class for drag'n'drop plugin. + */ + function GridStackDragDropPlugin(grid) { + this.grid = grid; + }; + + GridStackDragDropPlugin.prototype.resizable = function(el, opts) { + return this; + }; + + GridStackDragDropPlugin.prototype.draggable = function(el, opts) { + return this; + }; + + /** + * @class JQueryUIGridStackDragDropPlugin + * jQuery UI implementation of drag'n'drop gridstack plugin. + */ + function JQueryUIGridStackDragDropPlugin(grid) { + GridStackDragDropPlugin.call(this, grid); + }; + + JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackDragDropPlugin.prototype); + JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; + + JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) { + if (opts === 'disable' || opts === 'enable') { + el.resizable(opts); + } else { + el.resizable(_.extend({}, this.grid.opts.resizable, { + start: opts.start || function() {}, + stop: opts.stop || function() {}, + resize: opts.resize || function() {} + })); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) { + if (opts === 'disable' || opts === 'enable') { + el.draggable(opts); + } else { + el.draggable(_.extend({}, this.grid.opts.draggable, { + containment: this.grid.opts.isNested ? this.grid.container.parent() : null, + start: opts.start || function() {}, + stop: opts.stop || function() {}, + drag: opts.drag || function() {} + })); + } + return this; + }; + var idSeq = 0; var GridStackEngine = function(width, onchange, floatMode, height, items) { @@ -548,9 +602,12 @@ removeTimeout: 2000, verticalMarginUnit: 'px', cellHeightUnit: 'px', - oneColumnModeClass: opts.oneColumnModeClass || 'grid-stack-one-column-mode' + oneColumnModeClass: opts.oneColumnModeClass || 'grid-stack-one-column-mode', + ddPlugin: JQueryUIGridStackDragDropPlugin }); + this.dd = new opts.ddPlugin(this); + if (this.opts.rtl === 'auto') { this.opts.rtl = this.container.css('direction') === 'rtl'; } @@ -647,10 +704,10 @@ return; } if (node.noMove || self.opts.disableDrag) { - node.el.draggable('disable'); + self.dd.draggable(node.el, 'disable'); } if (node.noResize || self.opts.disableResize) { - node.el.resizable('disable'); + self.dd.resizable(node.el, 'disable'); } node.el.trigger('resize'); @@ -669,10 +726,10 @@ _.each(self.grid.nodes, function(node) { if (!node.noMove && !self.opts.disableDrag) { - node.el.draggable('enable'); + self.dd.draggable(node.el, 'enable'); } if (!node.noResize && !self.opts.disableResize) { - node.el.resizable('enable'); + self.dd.resizable(node.el, 'enable'); } node.el.trigger('resize'); @@ -1116,25 +1173,24 @@ } }; - el - .draggable(_.extend({}, this.opts.draggable, { - containment: this.opts.isNested ? this.container.parent() : null, + this.dd + .draggable(el, { start: onStartMoving, stop: onEndMoving, drag: dragOrResize - })) - .resizable(_.extend({}, this.opts.resizable, { + }) + .resizable(el, { start: onStartMoving, stop: onEndMoving, resize: dragOrResize - })); + }); if (node.noMove || this._isOneColumnMode() || this.opts.disableDrag) { - el.draggable('disable'); + this.dd.draggable(el, 'disable'); } if (node.noResize || this._isOneColumnMode() || this.opts.disableResize) { - el.resizable('disable'); + this.dd.resizable(el, 'disable'); } el.attr('data-gs-locked', node.locked ? 'yes' : null); @@ -1288,10 +1344,10 @@ node.noMove = !(val || false); if (node.noMove || self._isOneColumnMode()) { - el.draggable('disable'); + self.dd.draggable(el, 'disable'); el.removeClass('ui-draggable-handle'); } else { - el.draggable('enable'); + self.dd.draggable(el, 'enable'); el.addClass('ui-draggable-handle'); } }); diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index f75d21506..7968ab0ac 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -5,20 +5,28 @@ * gridstack.js may be freely distributed under the MIT license. * @preserve */ -!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/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=c!=-1?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"); +!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/resizable"],a);else if("undefined"!=typeof exports){try{jQuery=require("jquery")}catch(a){}try{_=require("lodash")}catch(a){}a(jQuery,_)}else a(jQuery,_)}(function(a,b){ // 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())}, +/** + * @class GridStackDragDropPlugin + * Base class for drag'n'drop plugin. + */ +function c(a){this.grid=a}/** + * @class JQueryUIGridStackDragDropPlugin + * jQuery UI implementation of drag'n'drop gridstack plugin. + */ +function d(a){c.call(this,a)}var e=window,f=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},g=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.")},h={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=c!=-1?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&&h.isIntercepted(a,this.nn)},_didCollide:function(a){return h.isIntercepted({x:this.n.x,y:this.newY,width:this.n.width,height:this.n.height},a)},_isAddNodeIntercepted:function(a){return h.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 +h.is_intercepted=f(h.isIntercepted,"is_intercepted","isIntercepted"),h.create_stylesheet=f(h.createStylesheet,"create_stylesheet","createStylesheet"),h.remove_stylesheet=f(h.removeStylesheet,"remove_stylesheet","removeStylesheet"),h.insert_css_rule=f(h.insertCSSRule,"insert_css_rule","insertCSSRule"),c.prototype.resizable=function(a,b){return this},c.prototype.draggable=function(a,b){return this},d.prototype=Object.create(c.prototype),d.prototype.constructor=d,d.prototype.resizable=function(a,c){return"disable"===c||"enable"===c?a.resizable(c):a.resizable(b.extend({},this.grid.opts.resizable,{start:c.start||function(){},stop:c.stop||function(){},resize:c.resize||function(){}})),this},d.prototype.draggable=function(a,c){return"disable"===c||"enable"===c?a.draggable(c):a.draggable(b.extend({},this.grid.opts.draggable,{containment:this.grid.opts.isNested?this.grid.container.parent():null,start:c.start||function(){},stop:c.stop||function(){},drag:c.drag||function(){}})),this};var i=0,j=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=[]};j.prototype.batchUpdate=function(){this._updateCounter=1,this.float=!0},j.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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), +j.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},j.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(h._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},j.prototype.isAreaEmpty=function(a,c,d,e){var f={x:a||0,y:c||0,width:d||1,height:e||1},g=b.find(this.nodes,b.bind(function(a){return h.isIntercepted(a,f)},this));return null===g||"undefined"==typeof g},j.prototype._sortNodes=function(a){this.nodes=h.sort(this.nodes,a,this.width)},j.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(h._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 f=b.chain(this.nodes).take(c).find(b.bind(h._didCollide,{n:a,newY:d})).value();e="undefined"==typeof f}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},j.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},j.prototype._notify=function(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},j.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},j.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},j.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=++i,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,f=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(h._isAddNodeIntercepted,{x:e,y:f,node:a})))){a.x=e,a.y=f;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},j.prototype.removeNode=function(a,c){c="undefined"==typeof c||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},j.prototype.canMoveNode=function(c,d,e,f,g){var h=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!h)return!0;var i,k=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return b==c?i=a.extend({},b):a.extend({},b)}));if("undefined"==typeof i)return!0;k.moveNode(i,d,e,f,g);var l=!0;return h&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=i&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},j.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},j.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},j.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},j.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},j.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 k=function(c,e){var f,h,i=this;e=e||{},this.container=a(c), // jscs:disable requireCamelCaseOrUpperCaseIdentifiers -"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")), +"undefined"!=typeof e.handle_class&&(e.handleClass=e.handle_class,g("handle_class","handleClass")),"undefined"!=typeof e.item_class&&(e.itemClass=e.item_class,g("item_class","itemClass")),"undefined"!=typeof e.placeholder_class&&(e.placeholderClass=e.placeholder_class,g("placeholder_class","placeholderClass")),"undefined"!=typeof e.placeholder_text&&(e.placeholderText=e.placeholder_text,g("placeholder_text","placeholderText")),"undefined"!=typeof e.cell_height&&(e.cellHeight=e.cell_height,g("cell_height","cellHeight")),"undefined"!=typeof e.vertical_margin&&(e.verticalMargin=e.vertical_margin,g("vertical_margin","verticalMargin")),"undefined"!=typeof e.min_width&&(e.minWidth=e.min_width,g("min_width","minWidth")),"undefined"!=typeof e.static_grid&&(e.staticGrid=e.static_grid,g("static_grid","staticGrid")),"undefined"!=typeof e.is_nested&&(e.isNested=e.is_nested,g("is_nested","isNested")),"undefined"!=typeof e.always_show_resize_handle&&(e.alwaysShowResizeHandle=e.always_show_resize_handle,g("always_show_resize_handle","alwaysShowResizeHandle")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:d.oneColumnModeClass||"grid-stack-one-column-mode"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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;i.container.addClass(i.opts.oneColumnModeClass),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"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; +e.itemClass=e.itemClass||"grid-stack-item";var k=this.container.closest("."+e.itemClass).length>0;if(this.opts=b.defaults(e||{},{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:e.alwaysShowResizeHandle||!1,resizable:b.defaults(e.resizable||{},{autoHide:!e.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(e.draggable||{},{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:e.disableDrag||!1,disableResize:e.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:e.oneColumnModeClass||"grid-stack-one-column-mode",ddPlugin:d}),this.dd=new e.ddPlugin(this),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=k,h="auto"===this.opts.cellHeight,h?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(),k&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new j(this.opts.width,function(a,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+10)},this.opts.float,this.opts.height),this.opts.auto){var l=[],m=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),l.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*m.opts.width})}),b.chain(l).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(h&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;i.container.addClass(i.opts.oneColumnModeClass),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)&&i.dd.draggable(a.el,"disable"),(a.noResize||i.opts.disableResize)&&i.dd.resizable(a.el,"disable"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||i.dd.draggable(a.el,"enable"),a.noResize||i.opts.disableResize||i.dd.resizable(a.el,"enable"),a.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"string"==typeof i.opts.removable){var n=a(i.opts.removable);n.data("droppable")||n.droppable({accept:"."+i.opts.itemClass}),n.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.staticGrid&&i.opts.acceptWidgets){var o=null,p=function(a,b){var c=o,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)&&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);o=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",p)},out:function(b,c){var d=a(c.draggable);d.unbind("drag",p);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",p),i.container.append(e),i._prepareElementsByNode(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;e=g.grid.width||k<0?(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&&j<0)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=g.cellWidth();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.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||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;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._prepareElementsByNode(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||c,b=a(b);var d=b.data("_gridstack_node"); +return k.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)},k.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=[])},k.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=[])},k.prototype._initStyles=function(){this._stylesId&&h.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=h.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},k.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&&h.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;e=f.grid.width||k<0?(f.opts.removable===!0&&f._setupRemovingTimeout(b),j=c._beforeDragX,k=c._beforeDragY,f.placeholder.detach(),f.placeholder.hide(),f.grid.removeNode(c),f._updateContainerHeight(),c._temporaryRemoved=!0):(f._clearRemovingTimeout(b),c._temporaryRemoved&&(f.grid.addNode(c),f.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),f.container.append(f.placeholder),c.el=f.placeholder,c._temporaryRemoved=!1));else if("resize"==a.type&&j<0)return;f.grid.canMoveNode(c,j,k,h,i)&&(f.grid.moveNode(c,j,k,h,i),f._updateContainerHeight())},h=function(g,h){f.container.append(f.placeholder);var i=a(this);f.grid.cleanNodes(),f.grid.beginUpdate(c),d=f.cellWidth();var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));e=f.container.height()/parseInt(f.container.attr("data-gs-current-height")),f.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(),c.el=f.placeholder,c._beforeDragX=c.x,c._beforeDragY=c.y,b.resizable("option","minWidth",d*(c.minWidth||1)),b.resizable("option","minHeight",j*(c.minHeight||1)),"resizestart"==g.type&&i.find(".grid-stack-item").trigger("resizestart")},i=function(d,e){var g=a(this);if(g.data("_gridstack_node")){var h=!1;f.placeholder.detach(),c.el=g,f.placeholder.hide(),c._isAboutToRemove?(h=!0,b.removeData("_gridstack_node"),b.remove()):(f._clearRemovingTimeout(b),c._temporaryRemoved?(g.attr("data-gs-x",c._beforeDragX).attr("data-gs-y",c._beforeDragY).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style"),c.x=c._beforeDragX,c.y=c._beforeDragY,f.grid.addNode(c)):g.attr("data-gs-x",c.x).attr("data-gs-y",c.y).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style")),f._updateContainerHeight(),f._triggerChangeEvent(h),f.grid.endUpdate();var i=g.find(".grid-stack");i.length&&"resizestop"==d.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),g.find(".grid-stack-item").trigger("resizestop"))}};this.dd.draggable(b,{start:h,stop:i,drag:g}).resizable(b,{start:h,stop:i,resize:g}),(c.noMove||this._isOneColumnMode()||this.opts.disableDrag)&&this.dd.draggable(b,"disable"),(c.noResize||this._isOneColumnMode()||this.opts.disableResize)&&this.dd.resizable(b,"disable"),b.attr("data-gs-locked",c.locked?"yes":null)}},k.prototype._prepareElement=function(b,c){c="undefined"!=typeof c&&c;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:h.toBool(b.attr("data-gs-auto-position")),noResize:h.toBool(b.attr("data-gs-no-resize")),noMove:h.toBool(b.attr("data-gs-no-move")),locked:h.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementsByNode(b,e)},k.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},k.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},k.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},k.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)},k.prototype.removeWidget=function(b,c){c="undefined"==typeof c||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),this.container.removeData("gridstack")),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&&"undefined"!=typeof a.ui&&(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&&"undefined"!=typeof a.ui&&(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(){return Math.round(this.container.outerWidth()/this.opts.width)},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: Wed, 17 Aug 2016 23:36:05 -0700 Subject: [PATCH 09/52] fix lint errors --- dist/gridstack.js | 4 ++-- src/gridstack.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 5f73e5a4a..2e05cf1d8 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -130,7 +130,7 @@ */ function GridStackDragDropPlugin(grid) { this.grid = grid; - }; + } GridStackDragDropPlugin.prototype.resizable = function(el, opts) { return this; @@ -146,7 +146,7 @@ */ function JQueryUIGridStackDragDropPlugin(grid) { GridStackDragDropPlugin.call(this, grid); - }; + } JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackDragDropPlugin.prototype); JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; diff --git a/src/gridstack.js b/src/gridstack.js index 5f73e5a4a..2e05cf1d8 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -130,7 +130,7 @@ */ function GridStackDragDropPlugin(grid) { this.grid = grid; - }; + } GridStackDragDropPlugin.prototype.resizable = function(el, opts) { return this; @@ -146,7 +146,7 @@ */ function JQueryUIGridStackDragDropPlugin(grid) { GridStackDragDropPlugin.call(this, grid); - }; + } JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackDragDropPlugin.prototype); JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; From 64ea5c4cf6fcf229fdd2329fc64653178b64ff61 Mon Sep 17 00:00:00 2001 From: d Date: Thu, 18 Aug 2016 16:19:48 -0400 Subject: [PATCH 10/52] Add `isNodeChangedPosition`. --- README.md | 1 + dist/gridstack.js | 23 ++++++++++ dist/gridstack.min.js | 10 ++--- dist/gridstack.min.map | 2 +- spec/gridstack-engine-spec.js | 81 ++++++++++++++++++++++++----------- src/gridstack.js | 23 ++++++++++ 6 files changed, 108 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index d495afb44..967be6529 100644 --- a/README.md +++ b/README.md @@ -482,6 +482,7 @@ Changes - add oneColumnModeClass option to grid. - remove 768px CSS styles, moved to grid-stack-one-column-mode class. - add max-width override on grid-stck-one-column-mode ([#462](https://github.com/troolee/gridstack.js/issues/462)). +- add internal function`isNodeChangedPosition`, minor optimization to move/drag. #### v0.2.6 (2016-08-17) diff --git a/dist/gridstack.js b/dist/gridstack.js index 3fce57558..6518db1bf 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -351,6 +351,9 @@ }; GridStackEngine.prototype.canMoveNode = function(node, x, y, width, height) { + if (!this.isNodeChangedPosition(node, x, y, width, height)) { + return false; + } var hasLocked = Boolean(_.find(this.nodes, function(n) { return n.locked; })); if (!this.height && !hasLocked) { @@ -406,7 +409,27 @@ return clone.getGridHeight() <= this.height; }; + GridStackEngine.prototype.isNodeChangedPosition = function(node, x, y, width, height) { + if (typeof x != 'number') { x = node.x; } + if (typeof y != 'number') { y = node.y; } + if (typeof width != 'number') { width = node.width; } + if (typeof height != 'number') { height = node.height; } + + if (typeof node.maxWidth != 'undefined') { width = Math.min(width, node.maxWidth); } + if (typeof node.maxHeight != 'undefined') { height = Math.min(height, node.maxHeight); } + if (typeof node.minWidth != 'undefined') { width = Math.max(width, node.minWidth); } + if (typeof node.minHeight != 'undefined') { height = Math.max(height, node.minHeight); } + + if (node.x == x && node.y == y && node.width == width && node.height == height) { + return false; + } + return true; + }; + GridStackEngine.prototype.moveNode = function(node, x, y, width, height, noPack) { + if (!this.isNodeChangedPosition(node, x, y, width, height)) { + return node; + } if (typeof x != 'number') { x = node.x; } if (typeof y != 'number') { y = node.y; } if (typeof width != 'number') { width = node.width; } diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index f75d21506..13b2313d8 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -5,20 +5,16 @@ * gridstack.js may be freely distributed under the MIT license. * @preserve */ -!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/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=c!=-1?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}}}; +!function(a){if("function"==typeof define&&define.amd)define(["jquery","lodash","jquery-ui/data","jquery-ui/disable-selection","jquery-ui/focusable","jquery-ui/form","jquery-ui/ie","jquery-ui/keycode","jquery-ui/labels","jquery-ui/jquery-1-7","jquery-ui/plugin","jquery-ui/safe-active-element","jquery-ui/safe-blur","jquery-ui/scroll-parent","jquery-ui/tabbable","jquery-ui/unique-id","jquery-ui/version","jquery-ui/widget","jquery-ui/widgets/mouse","jquery-ui/widgets/draggable","jquery-ui/widgets/droppable","jquery-ui/widgets/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 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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},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)}));if("undefined"==typeof j)return!0;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), +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(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]?!0:a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},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(),this._notify(a,c)},h.prototype.canMoveNode=function(c,d,e,f,g){if(!this.isNodeChangedPosition(c,d,e,f,g))return!1;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)}));if("undefined"==typeof j)return!0;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.isNodeChangedPosition=function(a,b,c,d,e){return"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},h.prototype.moveNode=function(a,b,c,d,e,f){if(!this.isNodeChangedPosition(a,b,c,d,e))return a;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).length>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,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:d.oneColumnModeClass||"grid-stack-one-column-mode"}),"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,c){c="undefined"==typeof c?!0:c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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;i.container.addClass(i.opts.oneColumnModeClass),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"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers -"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")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -d.itemClass=d.itemClass||"grid-stack-item";var j=this.container.closest("."+d.itemClass).length>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,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:d.oneColumnModeClass||"grid-stack-one-column-mode"}),"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,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+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;i.container.addClass(i.opts.oneColumnModeClass),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"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),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.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"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.staticGrid&&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)&&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._prepareElementsByNode(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;e=g.grid.width||k<0?(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&&j<0)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=g.cellWidth();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.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||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;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._prepareElementsByNode(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||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._prepareElementsByNode=function(c,d){if("undefined"!=typeof a.ui){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=g.cellWidth();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.disableDrag)&&c.draggable("disable"),(d.noResize||this._isOneColumnMode()||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._prepareElementsByNode(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),this.container.removeData("gridstack")),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&&"undefined"!=typeof a.ui&&(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&&"undefined"!=typeof a.ui&&(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(){return Math.round(this.container.outerWidth()/this.opts.width)},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: Thu, 18 Aug 2016 20:51:41 -0700 Subject: [PATCH 11/52] incapsulate drag/drop into plugin --- dist/gridstack.js | 77 +++++++++++++++++++++++++++++++----------- dist/gridstack.min.js | 4 +-- dist/gridstack.min.map | 2 +- src/gridstack.js | 77 +++++++++++++++++++++++++++++++----------- 4 files changed, 117 insertions(+), 43 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 0afd35fed..5d504991b 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -140,6 +140,18 @@ return this; }; + GridStackDragDropPlugin.prototype.droppable = function(el, opts) { + return this; + }; + + GridStackDragDropPlugin.prototype.isDroppable = function(el) { + return false; + }; + + GridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { + return this; + }; + /** * @class JQueryUIGridStackDragDropPlugin * jQuery UI implementation of drag'n'drop gridstack plugin. @@ -152,6 +164,7 @@ JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) { + el = $(el); if (opts === 'disable' || opts === 'enable') { el.resizable(opts); } else { @@ -165,6 +178,7 @@ }; JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) { + el = $(el); if (opts === 'disable' || opts === 'enable') { el.draggable(opts); } else { @@ -178,6 +192,28 @@ return this; }; + JQueryUIGridStackDragDropPlugin.prototype.droppable = function(el, opts) { + el = $(el); + if (opts === 'disable' || opts === 'enable') { + el.droppable(opts); + } else { + el.droppable({ + accept: opts.accept + }); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.isDroppable = function(el, opts) { + el = $(el); + return Boolean(el.data('droppable')); + }; + + JQueryUIGridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { + $(el).on(eventName, callback); + return this; + }; + var idSeq = 0; var GridStackEngine = function(width, onchange, floatMode, height, items) { @@ -765,13 +801,13 @@ if (!self.opts.staticGrid && typeof self.opts.removable === 'string') { var trashZone = $(self.opts.removable); - if (!trashZone.data('droppable')) { - trashZone.droppable({ + if (!this.dd.isDroppable(trashZone)) { + this.dd.droppable(trashZone, { accept: '.' + self.opts.itemClass }); } - trashZone - .on('dropover', function(event, ui) { + this.dd + .on(trashZone, 'dropover', function(event, ui) { var el = $(ui.draggable); var node = el.data('_gridstack_node'); if (node._grid !== self) { @@ -779,7 +815,7 @@ } self._setupRemovingTimeout(el); }) - .on('dropout', function(event, ui) { + .on(trashZone, 'dropout', function(event, ui) { var el = $(ui.draggable); var node = el.data('_gridstack_node'); if (node._grid !== self) { @@ -829,16 +865,18 @@ } }; - $(self.container).droppable({ - accept: function(el) { - el = $(el); - var node = el.data('_gridstack_node'); - if (node && node._grid === self) { - return false; + this.dd + .droppable(self.container, { + 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); } - return el.is(self.opts.acceptWidgets === true ? '.grid-stack-item' : self.opts.acceptWidgets); - }, - over: function(event, ui) { + }) + .on(self.container, 'dropover', function(event, ui) { var offset = self.container.offset(); var el = $(ui.draggable); var cellWidth = self.cellWidth(); @@ -855,8 +893,8 @@ el.data('_gridstack_node_orig', origNode); el.on('drag', onDrag); - }, - out: function(event, ui) { + }) + .on(self.container, 'dropout', function(event, ui) { var el = $(ui.draggable); el.unbind('drag', onDrag); var node = el.data('_gridstack_node'); @@ -865,8 +903,8 @@ self.placeholder.detach(); self._updateContainerHeight(); el.data('_gridstack_node', el.data('_gridstack_node_orig')); - }, - drop: function(event, ui) { + }) + .on(self.container, 'drop', function(event, ui) { self.placeholder.detach(); var node = $(ui.draggable).data('_gridstack_node'); @@ -893,8 +931,7 @@ self._triggerChangeEvent(); self.grid.endUpdate(); - } - }); + }); } }; diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 62256fe2e..30bb7609b 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -17,13 +17,13 @@ function c(a){this.grid=a}/** */ function d(a){c.call(this,a)}var e=window,f=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},g=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.")},h={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=c!=-1?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&&h.isIntercepted(a,this.nn)},_didCollide:function(a){return h.isIntercepted({x:this.n.x,y:this.newY,width:this.n.width,height:this.n.height},a)},_isAddNodeIntercepted:function(a){return h.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 -h.is_intercepted=f(h.isIntercepted,"is_intercepted","isIntercepted"),h.create_stylesheet=f(h.createStylesheet,"create_stylesheet","createStylesheet"),h.remove_stylesheet=f(h.removeStylesheet,"remove_stylesheet","removeStylesheet"),h.insert_css_rule=f(h.insertCSSRule,"insert_css_rule","insertCSSRule"),c.prototype.resizable=function(a,b){return this},c.prototype.draggable=function(a,b){return this},d.prototype=Object.create(c.prototype),d.prototype.constructor=d,d.prototype.resizable=function(a,c){return"disable"===c||"enable"===c?a.resizable(c):a.resizable(b.extend({},this.grid.opts.resizable,{start:c.start||function(){},stop:c.stop||function(){},resize:c.resize||function(){}})),this},d.prototype.draggable=function(a,c){return"disable"===c||"enable"===c?a.draggable(c):a.draggable(b.extend({},this.grid.opts.draggable,{containment:this.grid.opts.isNested?this.grid.container.parent():null,start:c.start||function(){},stop:c.stop||function(){},drag:c.drag||function(){}})),this};var i=0,j=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=[]};j.prototype.batchUpdate=function(){this._updateCounter=1,this.float=!0},j.prototype.commit=function(){0!==this._updateCounter&&(this._updateCounter=0,this.float=this._float,this._packNodes(),this._notify())}, +h.is_intercepted=f(h.isIntercepted,"is_intercepted","isIntercepted"),h.create_stylesheet=f(h.createStylesheet,"create_stylesheet","createStylesheet"),h.remove_stylesheet=f(h.removeStylesheet,"remove_stylesheet","removeStylesheet"),h.insert_css_rule=f(h.insertCSSRule,"insert_css_rule","insertCSSRule"),c.prototype.resizable=function(a,b){return this},c.prototype.draggable=function(a,b){return this},c.prototype.droppable=function(a,b){return this},c.prototype.isDroppable=function(a){return!1},c.prototype.on=function(a,b,c){return this},d.prototype=Object.create(c.prototype),d.prototype.constructor=d,d.prototype.resizable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.resizable(d):c.resizable(b.extend({},this.grid.opts.resizable,{start:d.start||function(){},stop:d.stop||function(){},resize:d.resize||function(){}})),this},d.prototype.draggable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.draggable(d):c.draggable(b.extend({},this.grid.opts.draggable,{containment:this.grid.opts.isNested?this.grid.container.parent():null,start:d.start||function(){},stop:d.stop||function(){},drag:d.drag||function(){}})),this},d.prototype.droppable=function(b,c){return b=a(b),"disable"===c||"enable"===c?b.droppable(c):b.droppable({accept:c.accept}),this},d.prototype.isDroppable=function(b,c){return b=a(b),Boolean(b.data("droppable"))},d.prototype.on=function(b,c,d){return a(b).on(c,d),this};var i=0,j=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=[]};j.prototype.batchUpdate=function(){this._updateCounter=1,this.float=!0},j.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 j.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},j.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(h._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},j.prototype.isAreaEmpty=function(a,c,d,e){var f={x:a||0,y:c||0,width:d||1,height:e||1},g=b.find(this.nodes,b.bind(function(a){return h.isIntercepted(a,f)},this));return null===g||"undefined"==typeof g},j.prototype._sortNodes=function(a){this.nodes=h.sort(this.nodes,a,this.width)},j.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(h._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 f=b.chain(this.nodes).take(c).find(b.bind(h._didCollide,{n:a,newY:d})).value();e="undefined"==typeof f}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},j.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},j.prototype._notify=function(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},j.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},j.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},j.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=++i,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,f=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(h._isAddNodeIntercepted,{x:e,y:f,node:a})))){a.x=e,a.y=f;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},j.prototype.removeNode=function(a,c){c="undefined"==typeof c||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},j.prototype.canMoveNode=function(c,d,e,f,g){if(!this.isNodeChangedPosition(c,d,e,f,g))return!1;var h=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!h)return!0;var i,k=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return b==c?i=a.extend({},b):a.extend({},b)}));if("undefined"==typeof i)return!0;k.moveNode(i,d,e,f,g);var l=!0;return h&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=i&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},j.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},j.prototype.isNodeChangedPosition=function(a,b,c,d,e){return"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},j.prototype.moveNode=function(a,b,c,d,e,f){if(!this.isNodeChangedPosition(a,b,c,d,e))return a;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},j.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},j.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},j.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 k=function(c,e){var f,h,i=this;e=e||{},this.container=a(c), // jscs:disable requireCamelCaseOrUpperCaseIdentifiers "undefined"!=typeof e.handle_class&&(e.handleClass=e.handle_class,g("handle_class","handleClass")),"undefined"!=typeof e.item_class&&(e.itemClass=e.item_class,g("item_class","itemClass")),"undefined"!=typeof e.placeholder_class&&(e.placeholderClass=e.placeholder_class,g("placeholder_class","placeholderClass")),"undefined"!=typeof e.placeholder_text&&(e.placeholderText=e.placeholder_text,g("placeholder_text","placeholderText")),"undefined"!=typeof e.cell_height&&(e.cellHeight=e.cell_height,g("cell_height","cellHeight")),"undefined"!=typeof e.vertical_margin&&(e.verticalMargin=e.vertical_margin,g("vertical_margin","verticalMargin")),"undefined"!=typeof e.min_width&&(e.minWidth=e.min_width,g("min_width","minWidth")),"undefined"!=typeof e.static_grid&&(e.staticGrid=e.static_grid,g("static_grid","staticGrid")),"undefined"!=typeof e.is_nested&&(e.isNested=e.is_nested,g("is_nested","isNested")),"undefined"!=typeof e.always_show_resize_handle&&(e.alwaysShowResizeHandle=e.always_show_resize_handle,g("always_show_resize_handle","alwaysShowResizeHandle")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -e.itemClass=e.itemClass||"grid-stack-item";var k=this.container.closest("."+e.itemClass).length>0;if(this.opts=b.defaults(e||{},{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:e.alwaysShowResizeHandle||!1,resizable:b.defaults(e.resizable||{},{autoHide:!e.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(e.draggable||{},{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:e.disableDrag||!1,disableResize:e.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:e.oneColumnModeClass||"grid-stack-one-column-mode",ddPlugin:d}),this.dd=new e.ddPlugin(this),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=k,h="auto"===this.opts.cellHeight,h?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(),k&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new j(this.opts.width,function(a,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+10)},this.opts.float,this.opts.height),this.opts.auto){var l=[],m=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),l.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*m.opts.width})}),b.chain(l).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(h&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;i.container.addClass(i.opts.oneColumnModeClass),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)&&i.dd.draggable(a.el,"disable"),(a.noResize||i.opts.disableResize)&&i.dd.resizable(a.el,"disable"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||i.dd.draggable(a.el,"enable"),a.noResize||i.opts.disableResize||i.dd.resizable(a.el,"enable"),a.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"string"==typeof i.opts.removable){var n=a(i.opts.removable);n.data("droppable")||n.droppable({accept:"."+i.opts.itemClass}),n.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.staticGrid&&i.opts.acceptWidgets){var o=null,p=function(a,b){var c=o,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)&&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);o=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",p)},out:function(b,c){var d=a(c.draggable);d.unbind("drag",p);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",p),i.container.append(e),i._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()}})}}; +e.itemClass=e.itemClass||"grid-stack-item";var k=this.container.closest("."+e.itemClass).length>0;if(this.opts=b.defaults(e||{},{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:e.alwaysShowResizeHandle||!1,resizable:b.defaults(e.resizable||{},{autoHide:!e.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(e.draggable||{},{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:e.disableDrag||!1,disableResize:e.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:e.oneColumnModeClass||"grid-stack-one-column-mode",ddPlugin:d}),this.dd=new e.ddPlugin(this),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=k,h="auto"===this.opts.cellHeight,h?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(),k&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new j(this.opts.width,function(a,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+10)},this.opts.float,this.opts.height),this.opts.auto){var l=[],m=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),l.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*m.opts.width})}),b.chain(l).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(h&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;i.container.addClass(i.opts.oneColumnModeClass),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)&&i.dd.draggable(a.el,"disable"),(a.noResize||i.opts.disableResize)&&i.dd.resizable(a.el,"disable"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||i.dd.draggable(a.el,"enable"),a.noResize||i.opts.disableResize||i.dd.resizable(a.el,"enable"),a.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"string"==typeof i.opts.removable){var n=a(i.opts.removable);this.dd.isDroppable(n)||this.dd.droppable(n,{accept:"."+i.opts.itemClass}),this.dd.on(n,"dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on(n,"dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(!i.opts.staticGrid&&i.opts.acceptWidgets){var o=null,p=function(a,b){var c=o,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()};this.dd.droppable(i.container,{accept:function(b){b=a(b);var c=b.data("_gridstack_node");return(!c||c._grid!==i)&&b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)}}).on(i.container,"dropover",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);o=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",p)}).on(i.container,"dropout",function(b,c){var d=a(c.draggable);d.unbind("drag",p);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"))}).on(i.container,"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",p),i.container.append(e),i._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()})}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers // jscs:enable requireCamelCaseOrUpperCaseIdentifiers return k.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)},k.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=[])},k.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=[])},k.prototype._initStyles=function(){this._stylesId&&h.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=h.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},k.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&&h.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;e=f.grid.width||k<0?(f.opts.removable===!0&&f._setupRemovingTimeout(b),j=c._beforeDragX,k=c._beforeDragY,f.placeholder.detach(),f.placeholder.hide(),f.grid.removeNode(c),f._updateContainerHeight(),c._temporaryRemoved=!0):(f._clearRemovingTimeout(b),c._temporaryRemoved&&(f.grid.addNode(c),f.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),f.container.append(f.placeholder),c.el=f.placeholder,c._temporaryRemoved=!1));else if("resize"==a.type&&j<0)return;f.grid.canMoveNode(c,j,k,h,i)&&(f.grid.moveNode(c,j,k,h,i),f._updateContainerHeight())},h=function(g,h){f.container.append(f.placeholder);var i=a(this);f.grid.cleanNodes(),f.grid.beginUpdate(c),d=f.cellWidth();var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));e=f.container.height()/parseInt(f.container.attr("data-gs-current-height")),f.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(),c.el=f.placeholder,c._beforeDragX=c.x,c._beforeDragY=c.y,b.resizable("option","minWidth",d*(c.minWidth||1)),b.resizable("option","minHeight",j*(c.minHeight||1)),"resizestart"==g.type&&i.find(".grid-stack-item").trigger("resizestart")},i=function(d,e){var g=a(this);if(g.data("_gridstack_node")){var h=!1;f.placeholder.detach(),c.el=g,f.placeholder.hide(),c._isAboutToRemove?(h=!0,b.removeData("_gridstack_node"),b.remove()):(f._clearRemovingTimeout(b),c._temporaryRemoved?(g.attr("data-gs-x",c._beforeDragX).attr("data-gs-y",c._beforeDragY).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style"),c.x=c._beforeDragX,c.y=c._beforeDragY,f.grid.addNode(c)):g.attr("data-gs-x",c.x).attr("data-gs-y",c.y).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style")),f._updateContainerHeight(),f._triggerChangeEvent(h),f.grid.endUpdate();var i=g.find(".grid-stack");i.length&&"resizestop"==d.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),g.find(".grid-stack-item").trigger("resizestop"))}};this.dd.draggable(b,{start:h,stop:i,drag:g}).resizable(b,{start:h,stop:i,resize:g}),(c.noMove||this._isOneColumnMode()||this.opts.disableDrag)&&this.dd.draggable(b,"disable"),(c.noResize||this._isOneColumnMode()||this.opts.disableResize)&&this.dd.resizable(b,"disable"),b.attr("data-gs-locked",c.locked?"yes":null)}},k.prototype._prepareElement=function(b,c){c="undefined"!=typeof c&&c;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:h.toBool(b.attr("data-gs-auto-position")),noResize:h.toBool(b.attr("data-gs-no-resize")),noMove:h.toBool(b.attr("data-gs-no-move")),locked:h.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementsByNode(b,e)},k.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},k.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},k.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},k.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)},k.prototype.removeWidget=function(b,c){c="undefined"==typeof c||c,b=a(b);var d=b.data("_gridstack_node"); diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index ff4388bc2..96c945ba7 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","_","$","GridStackDragDropPlugin","grid","this","JQueryUIGridStackDragDropPlugin","call","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","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","resizable","el","opts","draggable","Object","create","constructor","extend","start","stop","resize","containment","isNested","container","parent","drag","idSeq","GridStackEngine","onchange","floatMode","items","float","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","args","Array","slice","deletedNodes","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","isNodeChangedPosition","clonedNode","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","oneColumnMode","isAutoCellHeight","self","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","always_show_resize_handle","alwaysShowResizeHandle","closest","length","attr","handle","auto","_class","random","toFixed","animate","autoHide","handles","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","oneColumnModeClass","ddPlugin","dd","css","addClass","cellWidth","_setStaticClass","_initStyles","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","removeClass","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","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","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","_","$","GridStackDragDropPlugin","grid","this","JQueryUIGridStackDragDropPlugin","call","scope","window","obsolete","f","oldName","newName","wrapper","console","warn","apply","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","resizable","el","opts","draggable","droppable","isDroppable","on","eventName","callback","Object","create","constructor","extend","start","stop","resize","containment","isNested","container","parent","drag","accept","data","idSeq","GridStackEngine","onchange","floatMode","items","float","_updateCounter","_float","_addedNodes","_removedNodes","batchUpdate","commit","_packNodes","_notify","getNodeDataByDOMEl","find","get","_fixCollisions","_sortNodes","hasLocked","locked","collisionNode","bind","moveNode","isAreaEmpty","each","i","_updating","_origY","_dirty","canBeMoved","take","_prepareNode","resizing","defaults","parseInt","autoPosition","noResize","noMove","args","Array","slice","deletedNodes","concat","getDirtyNodes","cleanNodes","filter","addNode","triggerAddEvent","maxWidth","Math","min","maxHeight","minWidth","minHeight","_id","floor","push","clone","removeNode","detachNode","without","canMoveNode","isNodeChangedPosition","clonedNode","res","getGridHeight","canBePlacedWithRespectToHeight","noPack","reduce","memo","beginUpdate","endUpdate","GridStack","oneColumnMode","isAutoCellHeight","self","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","always_show_resize_handle","alwaysShowResizeHandle","closest","length","attr","handle","auto","_class","random","toFixed","animate","autoHide","handles","scroll","appendTo","disableDrag","disableResize","rtl","removable","removeTimeout","verticalMarginUnit","cellHeightUnit","oneColumnModeClass","ddPlugin","dd","css","addClass","cellWidth","_setStaticClass","_initStyles","_updateStyles","elements","_this","children","_prepareElement","setAnimation","placeholder","hide","_updateContainerHeight","_updateHeightsOnResize","throttle","onResizeHandler","_isOneColumnMode","append","trigger","removeClass","trashZone","event","ui","_grid","_setupRemovingTimeout","_clearRemovingTimeout","acceptWidgets","draggingElement","onDrag","pos","getCellFromPixel","offset","_added","show","_beforeDragX","_beforeDragY","is","origNode","ceil","outerWidth","outerHeight","_temporary","unbind","detach","removeAttr","enableSelection","removeData","_prepareElementsByNode","_triggerChangeEvent","forceTrigger","hasChanges","eventParams","_triggerAddEvent","_triggerRemoveEvent","_stylesId","_styles","_max","getHeight","prefix","nbRows","nbMargins","innerWidth","documentElement","clientWidth","body","_removeTimeout","setTimeout","_isAboutToRemove","clearTimeout","dragOrResize","round","position","left","top","type","size","_temporaryRemoved","onStartMoving","o","strictCellHeight","onEndMoving","forceNotify","nestedGrids","enable","addWidget","makeWidget","willItFit","removeWidget","removeAll","destroy","detachGrid","off","disable","movable","enableMove","doEnable","includeNewWidgets","enableResize","isNaN","_updateElement","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 diff --git a/src/gridstack.js b/src/gridstack.js index 0afd35fed..5d504991b 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -140,6 +140,18 @@ return this; }; + GridStackDragDropPlugin.prototype.droppable = function(el, opts) { + return this; + }; + + GridStackDragDropPlugin.prototype.isDroppable = function(el) { + return false; + }; + + GridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { + return this; + }; + /** * @class JQueryUIGridStackDragDropPlugin * jQuery UI implementation of drag'n'drop gridstack plugin. @@ -152,6 +164,7 @@ JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) { + el = $(el); if (opts === 'disable' || opts === 'enable') { el.resizable(opts); } else { @@ -165,6 +178,7 @@ }; JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) { + el = $(el); if (opts === 'disable' || opts === 'enable') { el.draggable(opts); } else { @@ -178,6 +192,28 @@ return this; }; + JQueryUIGridStackDragDropPlugin.prototype.droppable = function(el, opts) { + el = $(el); + if (opts === 'disable' || opts === 'enable') { + el.droppable(opts); + } else { + el.droppable({ + accept: opts.accept + }); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.isDroppable = function(el, opts) { + el = $(el); + return Boolean(el.data('droppable')); + }; + + JQueryUIGridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { + $(el).on(eventName, callback); + return this; + }; + var idSeq = 0; var GridStackEngine = function(width, onchange, floatMode, height, items) { @@ -765,13 +801,13 @@ if (!self.opts.staticGrid && typeof self.opts.removable === 'string') { var trashZone = $(self.opts.removable); - if (!trashZone.data('droppable')) { - trashZone.droppable({ + if (!this.dd.isDroppable(trashZone)) { + this.dd.droppable(trashZone, { accept: '.' + self.opts.itemClass }); } - trashZone - .on('dropover', function(event, ui) { + this.dd + .on(trashZone, 'dropover', function(event, ui) { var el = $(ui.draggable); var node = el.data('_gridstack_node'); if (node._grid !== self) { @@ -779,7 +815,7 @@ } self._setupRemovingTimeout(el); }) - .on('dropout', function(event, ui) { + .on(trashZone, 'dropout', function(event, ui) { var el = $(ui.draggable); var node = el.data('_gridstack_node'); if (node._grid !== self) { @@ -829,16 +865,18 @@ } }; - $(self.container).droppable({ - accept: function(el) { - el = $(el); - var node = el.data('_gridstack_node'); - if (node && node._grid === self) { - return false; + this.dd + .droppable(self.container, { + 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); } - return el.is(self.opts.acceptWidgets === true ? '.grid-stack-item' : self.opts.acceptWidgets); - }, - over: function(event, ui) { + }) + .on(self.container, 'dropover', function(event, ui) { var offset = self.container.offset(); var el = $(ui.draggable); var cellWidth = self.cellWidth(); @@ -855,8 +893,8 @@ el.data('_gridstack_node_orig', origNode); el.on('drag', onDrag); - }, - out: function(event, ui) { + }) + .on(self.container, 'dropout', function(event, ui) { var el = $(ui.draggable); el.unbind('drag', onDrag); var node = el.data('_gridstack_node'); @@ -865,8 +903,8 @@ self.placeholder.detach(); self._updateContainerHeight(); el.data('_gridstack_node', el.data('_gridstack_node_orig')); - }, - drop: function(event, ui) { + }) + .on(self.container, 'drop', function(event, ui) { self.placeholder.detach(); var node = $(ui.draggable).data('_gridstack_node'); @@ -893,8 +931,7 @@ self._triggerChangeEvent(); self.grid.endUpdate(); - } - }); + }); } }; From 6d8ce2299cfdf894188c248738970c1f07ee9533 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Thu, 18 Aug 2016 21:01:23 -0700 Subject: [PATCH 12/52] dd plugin registration --- dist/gridstack.js | 19 +++++++++++++++++-- dist/gridstack.min.js | 8 ++++---- dist/gridstack.min.map | 2 +- src/gridstack.js | 19 +++++++++++++++++-- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/dist/gridstack.js b/dist/gridstack.js index 5d504991b..b4e97a2cc 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -132,6 +132,12 @@ this.grid = grid; } + GridStackDragDropPlugin.registeredPlugins = []; + + GridStackDragDropPlugin.registerPlugin = function(pluginClass) { + GridStackDragDropPlugin.registeredPlugins.push(pluginClass); + }; + GridStackDragDropPlugin.prototype.resizable = function(el, opts) { return this; }; @@ -160,6 +166,8 @@ GridStackDragDropPlugin.call(this, grid); } + GridStackDragDropPlugin.registerPlugin(JQueryUIGridStackDragDropPlugin); + JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackDragDropPlugin.prototype); JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; @@ -662,10 +670,16 @@ verticalMarginUnit: 'px', cellHeightUnit: 'px', oneColumnModeClass: opts.oneColumnModeClass || 'grid-stack-one-column-mode', - ddPlugin: JQueryUIGridStackDragDropPlugin + ddPlugin: null }); - this.dd = new opts.ddPlugin(this); + if (this.opts.ddPlugin === false) { + this.opts.ddPlugin = GridStackDragDropPlugin; + } else if (this.opts.ddPlugin === null) { + this.opts.ddPlugin = _.first(GridStackDragDropPlugin.registeredPlugins); + } + + this.dd = new this.opts.ddPlugin(this); if (this.opts.rtl === 'auto') { this.opts.rtl = this.container.css('direction') === 'rtl'; @@ -1763,6 +1777,7 @@ scope.GridStackUI.Utils = Utils; scope.GridStackUI.Engine = GridStackEngine; + scope.GridStackUI.GridStackDragDropPlugin = GridStackDragDropPlugin; $.fn.gridstack = function(opts) { return this.each(function() { diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 30bb7609b..250699ac3 100644 --- a/dist/gridstack.min.js +++ b/dist/gridstack.min.js @@ -17,16 +17,16 @@ function c(a){this.grid=a}/** */ function d(a){c.call(this,a)}var e=window,f=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},g=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.")},h={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=c!=-1?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&&h.isIntercepted(a,this.nn)},_didCollide:function(a){return h.isIntercepted({x:this.n.x,y:this.newY,width:this.n.width,height:this.n.height},a)},_isAddNodeIntercepted:function(a){return h.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 -h.is_intercepted=f(h.isIntercepted,"is_intercepted","isIntercepted"),h.create_stylesheet=f(h.createStylesheet,"create_stylesheet","createStylesheet"),h.remove_stylesheet=f(h.removeStylesheet,"remove_stylesheet","removeStylesheet"),h.insert_css_rule=f(h.insertCSSRule,"insert_css_rule","insertCSSRule"),c.prototype.resizable=function(a,b){return this},c.prototype.draggable=function(a,b){return this},c.prototype.droppable=function(a,b){return this},c.prototype.isDroppable=function(a){return!1},c.prototype.on=function(a,b,c){return this},d.prototype=Object.create(c.prototype),d.prototype.constructor=d,d.prototype.resizable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.resizable(d):c.resizable(b.extend({},this.grid.opts.resizable,{start:d.start||function(){},stop:d.stop||function(){},resize:d.resize||function(){}})),this},d.prototype.draggable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.draggable(d):c.draggable(b.extend({},this.grid.opts.draggable,{containment:this.grid.opts.isNested?this.grid.container.parent():null,start:d.start||function(){},stop:d.stop||function(){},drag:d.drag||function(){}})),this},d.prototype.droppable=function(b,c){return b=a(b),"disable"===c||"enable"===c?b.droppable(c):b.droppable({accept:c.accept}),this},d.prototype.isDroppable=function(b,c){return b=a(b),Boolean(b.data("droppable"))},d.prototype.on=function(b,c,d){return a(b).on(c,d),this};var i=0,j=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=[]};j.prototype.batchUpdate=function(){this._updateCounter=1,this.float=!0},j.prototype.commit=function(){0!==this._updateCounter&&(this._updateCounter=0,this.float=this._float,this._packNodes(),this._notify())}, +h.is_intercepted=f(h.isIntercepted,"is_intercepted","isIntercepted"),h.create_stylesheet=f(h.createStylesheet,"create_stylesheet","createStylesheet"),h.remove_stylesheet=f(h.removeStylesheet,"remove_stylesheet","removeStylesheet"),h.insert_css_rule=f(h.insertCSSRule,"insert_css_rule","insertCSSRule"),c.registeredPlugins=[],c.registerPlugin=function(a){c.registeredPlugins.push(a)},c.prototype.resizable=function(a,b){return this},c.prototype.draggable=function(a,b){return this},c.prototype.droppable=function(a,b){return this},c.prototype.isDroppable=function(a){return!1},c.prototype.on=function(a,b,c){return this},c.registerPlugin(d),d.prototype=Object.create(c.prototype),d.prototype.constructor=d,d.prototype.resizable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.resizable(d):c.resizable(b.extend({},this.grid.opts.resizable,{start:d.start||function(){},stop:d.stop||function(){},resize:d.resize||function(){}})),this},d.prototype.draggable=function(c,d){return c=a(c),"disable"===d||"enable"===d?c.draggable(d):c.draggable(b.extend({},this.grid.opts.draggable,{containment:this.grid.opts.isNested?this.grid.container.parent():null,start:d.start||function(){},stop:d.stop||function(){},drag:d.drag||function(){}})),this},d.prototype.droppable=function(b,c){return b=a(b),"disable"===c||"enable"===c?b.droppable(c):b.droppable({accept:c.accept}),this},d.prototype.isDroppable=function(b,c){return b=a(b),Boolean(b.data("droppable"))},d.prototype.on=function(b,c,d){return a(b).on(c,d),this};var i=0,j=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=[]};j.prototype.batchUpdate=function(){this._updateCounter=1,this.float=!0},j.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 -j.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},j.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(h._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},j.prototype.isAreaEmpty=function(a,c,d,e){var f={x:a||0,y:c||0,width:d||1,height:e||1},g=b.find(this.nodes,b.bind(function(a){return h.isIntercepted(a,f)},this));return null===g||"undefined"==typeof g},j.prototype._sortNodes=function(a){this.nodes=h.sort(this.nodes,a,this.width)},j.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(h._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 f=b.chain(this.nodes).take(c).find(b.bind(h._didCollide,{n:a,newY:d})).value();e="undefined"==typeof f}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},j.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},j.prototype._notify=function(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},j.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},j.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},j.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=++i,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,f=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(h._isAddNodeIntercepted,{x:e,y:f,node:a})))){a.x=e,a.y=f;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},j.prototype.removeNode=function(a,c){c="undefined"==typeof c||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},j.prototype.canMoveNode=function(c,d,e,f,g){if(!this.isNodeChangedPosition(c,d,e,f,g))return!1;var h=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!h)return!0;var i,k=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return b==c?i=a.extend({},b):a.extend({},b)}));if("undefined"==typeof i)return!0;k.moveNode(i,d,e,f,g);var l=!0;return h&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=i&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},j.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},j.prototype.isNodeChangedPosition=function(a,b,c,d,e){return"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},j.prototype.moveNode=function(a,b,c,d,e,f){if(!this.isNodeChangedPosition(a,b,c,d,e))return a;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},j.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},j.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},j.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 k=function(c,e){var f,h,i=this;e=e||{},this.container=a(c), +j.prototype.getNodeDataByDOMEl=function(a){return b.find(this.nodes,function(b){return a.get(0)===b.el.get(0)})},j.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(h._collisionNodeCheck,{node:a,nn:c}));if("undefined"==typeof e)return;this.moveNode(e,e.x,a.y+a.height,e.width,e.height,!0)}},j.prototype.isAreaEmpty=function(a,c,d,e){var f={x:a||0,y:c||0,width:d||1,height:e||1},g=b.find(this.nodes,b.bind(function(a){return h.isIntercepted(a,f)},this));return null===g||"undefined"==typeof g},j.prototype._sortNodes=function(a){this.nodes=h.sort(this.nodes,a,this.width)},j.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(h._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 f=b.chain(this.nodes).take(c).find(b.bind(h._didCollide,{n:a,newY:d})).value();e="undefined"==typeof f}if(!e)break;a._dirty=a.y!=d,a.y=d}},this))},j.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},j.prototype._notify=function(){var a=Array.prototype.slice.call(arguments,0);if(a[0]="undefined"==typeof a[0]?[]:[a[0]],a[1]="undefined"==typeof a[1]||a[1],!this._updateCounter){var b=a[0].concat(this.getDirtyNodes());this.onchange(b,a[1])}},j.prototype.cleanNodes=function(){this._updateCounter||b.each(this.nodes,function(a){a._dirty=!1})},j.prototype.getDirtyNodes=function(){return b.filter(this.nodes,function(a){return a._dirty})},j.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=++i,a._dirty=!0,a.autoPosition){this._sortNodes();for(var d=0;;++d){var e=d%this.width,f=Math.floor(d/this.width);if(!(e+a.width>this.width||b.find(this.nodes,b.bind(h._isAddNodeIntercepted,{x:e,y:f,node:a})))){a.x=e,a.y=f;break}}}return this.nodes.push(a),"undefined"!=typeof c&&c&&this._addedNodes.push(b.clone(a)),this._fixCollisions(a),this._packNodes(),this._notify(),a},j.prototype.removeNode=function(a,c){c="undefined"==typeof c||c,this._removedNodes.push(b.clone(a)),a._id=null,this.nodes=b.without(this.nodes,a),this._packNodes(),this._notify(a,c)},j.prototype.canMoveNode=function(c,d,e,f,g){if(!this.isNodeChangedPosition(c,d,e,f,g))return!1;var h=Boolean(b.find(this.nodes,function(a){return a.locked}));if(!this.height&&!h)return!0;var i,k=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return b==c?i=a.extend({},b):a.extend({},b)}));if("undefined"==typeof i)return!0;k.moveNode(i,d,e,f,g);var l=!0;return h&&(l&=!Boolean(b.find(k.nodes,function(a){return a!=i&&Boolean(a.locked)&&Boolean(a._dirty)}))),this.height&&(l&=k.getGridHeight()<=this.height),l},j.prototype.canBePlacedWithRespectToHeight=function(c){if(!this.height)return!0;var d=new j(this.width,null,this.float,0,b.map(this.nodes,function(b){return a.extend({},b)}));return d.addNode(c),d.getGridHeight()<=this.height},j.prototype.isNodeChangedPosition=function(a,b,c,d,e){return"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},j.prototype.moveNode=function(a,b,c,d,e,f){if(!this.isNodeChangedPosition(a,b,c,d,e))return a;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},j.prototype.getGridHeight=function(){return b.reduce(this.nodes,function(a,b){return Math.max(a,b.y+b.height)},0)},j.prototype.beginUpdate=function(a){b.each(this.nodes,function(a){a._origY=a.y}),a._updating=!0},j.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 k=function(d,e){var f,h,i=this;e=e||{},this.container=a(d), // jscs:disable requireCamelCaseOrUpperCaseIdentifiers "undefined"!=typeof e.handle_class&&(e.handleClass=e.handle_class,g("handle_class","handleClass")),"undefined"!=typeof e.item_class&&(e.itemClass=e.item_class,g("item_class","itemClass")),"undefined"!=typeof e.placeholder_class&&(e.placeholderClass=e.placeholder_class,g("placeholder_class","placeholderClass")),"undefined"!=typeof e.placeholder_text&&(e.placeholderText=e.placeholder_text,g("placeholder_text","placeholderText")),"undefined"!=typeof e.cell_height&&(e.cellHeight=e.cell_height,g("cell_height","cellHeight")),"undefined"!=typeof e.vertical_margin&&(e.verticalMargin=e.vertical_margin,g("vertical_margin","verticalMargin")),"undefined"!=typeof e.min_width&&(e.minWidth=e.min_width,g("min_width","minWidth")),"undefined"!=typeof e.static_grid&&(e.staticGrid=e.static_grid,g("static_grid","staticGrid")),"undefined"!=typeof e.is_nested&&(e.isNested=e.is_nested,g("is_nested","isNested")),"undefined"!=typeof e.always_show_resize_handle&&(e.alwaysShowResizeHandle=e.always_show_resize_handle,g("always_show_resize_handle","alwaysShowResizeHandle")), // jscs:enable requireCamelCaseOrUpperCaseIdentifiers -e.itemClass=e.itemClass||"grid-stack-item";var k=this.container.closest("."+e.itemClass).length>0;if(this.opts=b.defaults(e||{},{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:e.alwaysShowResizeHandle||!1,resizable:b.defaults(e.resizable||{},{autoHide:!e.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(e.draggable||{},{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:e.disableDrag||!1,disableResize:e.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:e.oneColumnModeClass||"grid-stack-one-column-mode",ddPlugin:d}),this.dd=new e.ddPlugin(this),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=k,h="auto"===this.opts.cellHeight,h?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(),k&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new j(this.opts.width,function(a,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+10)},this.opts.float,this.opts.height),this.opts.auto){var l=[],m=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),l.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*m.opts.width})}),b.chain(l).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(h&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;i.container.addClass(i.opts.oneColumnModeClass),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)&&i.dd.draggable(a.el,"disable"),(a.noResize||i.opts.disableResize)&&i.dd.resizable(a.el,"disable"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||i.dd.draggable(a.el,"enable"),a.noResize||i.opts.disableResize||i.dd.resizable(a.el,"enable"),a.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"string"==typeof i.opts.removable){var n=a(i.opts.removable);this.dd.isDroppable(n)||this.dd.droppable(n,{accept:"."+i.opts.itemClass}),this.dd.on(n,"dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on(n,"dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(!i.opts.staticGrid&&i.opts.acceptWidgets){var o=null,p=function(a,b){var c=o,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()};this.dd.droppable(i.container,{accept:function(b){b=a(b);var c=b.data("_gridstack_node");return(!c||c._grid!==i)&&b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)}}).on(i.container,"dropover",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);o=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",p)}).on(i.container,"dropout",function(b,c){var d=a(c.draggable);d.unbind("drag",p);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"))}).on(i.container,"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",p),i.container.append(e),i._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()})}}; +e.itemClass=e.itemClass||"grid-stack-item";var k=this.container.closest("."+e.itemClass).length>0;if(this.opts=b.defaults(e||{},{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:e.alwaysShowResizeHandle||!1,resizable:b.defaults(e.resizable||{},{autoHide:!e.alwaysShowResizeHandle,handles:"se"}),draggable:b.defaults(e.draggable||{},{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||".grid-stack-item-content",scroll:!1,appendTo:"body"}),disableDrag:e.disableDrag||!1,disableResize:e.disableResize||!1,rtl:"auto",removable:!1,removeTimeout:2e3,verticalMarginUnit:"px",cellHeightUnit:"px",oneColumnModeClass:e.oneColumnModeClass||"grid-stack-one-column-mode",ddPlugin:null}),this.opts.ddPlugin===!1?this.opts.ddPlugin=c:null===this.opts.ddPlugin&&(this.opts.ddPlugin=b.first(c.registeredPlugins)),this.dd=new this.opts.ddPlugin(this),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===this.container.css("direction")),this.opts.rtl&&this.container.addClass("grid-stack-rtl"),this.opts.isNested=k,h="auto"===this.opts.cellHeight,h?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(),k&&this.container.addClass("grid-stack-nested"),this._initStyles(),this.grid=new j(this.opts.width,function(a,c){c="undefined"==typeof c||c;var d=0;b.each(a,function(a){c&&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),d=Math.max(d,a.y+a.height))}),i._updateStyles(d+10)},this.opts.float,this.opts.height),this.opts.auto){var l=[],m=this;this.container.children("."+this.opts.itemClass+":not(."+this.opts.placeholderClass+")").each(function(b,c){c=a(c),l.push({el:c,i:parseInt(c.attr("data-gs-x"))+parseInt(c.attr("data-gs-y"))*m.opts.width})}),b.chain(l).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(h&&i._updateHeightsOnResize(),i._isOneColumnMode()){if(f)return;i.container.addClass(i.opts.oneColumnModeClass),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)&&i.dd.draggable(a.el,"disable"),(a.noResize||i.opts.disableResize)&&i.dd.resizable(a.el,"disable"),a.el.trigger("resize"))})}else{if(!f)return;if(i.container.removeClass(i.opts.oneColumnModeClass),f=!1,i.opts.staticGrid)return;b.each(i.grid.nodes,function(a){a.noMove||i.opts.disableDrag||i.dd.draggable(a.el,"enable"),a.noResize||i.opts.disableResize||i.dd.resizable(a.el,"enable"),a.el.trigger("resize")})}},a(window).resize(this.onResizeHandler),this.onResizeHandler(),!i.opts.staticGrid&&"string"==typeof i.opts.removable){var n=a(i.opts.removable);this.dd.isDroppable(n)||this.dd.droppable(n,{accept:"."+i.opts.itemClass}),this.dd.on(n,"dropover",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._setupRemovingTimeout(d)}).on(n,"dropout",function(b,c){var d=a(c.draggable),e=d.data("_gridstack_node");e._grid===i&&i._clearRemovingTimeout(d)})}if(!i.opts.staticGrid&&i.opts.acceptWidgets){var o=null,p=function(a,b){var c=o,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()};this.dd.droppable(i.container,{accept:function(b){b=a(b);var c=b.data("_gridstack_node");return(!c||c._grid!==i)&&b.is(i.opts.acceptWidgets===!0?".grid-stack-item":i.opts.acceptWidgets)}}).on(i.container,"dropover",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);o=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",p)}).on(i.container,"dropout",function(b,c){var d=a(c.draggable);d.unbind("drag",p);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"))}).on(i.container,"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",p),i.container.append(e),i._prepareElementsByNode(e,d),i._updateContainerHeight(),i._triggerChangeEvent(),i.grid.endUpdate()})}}; // jscs:disable requireCamelCaseOrUpperCaseIdentifiers // jscs:enable requireCamelCaseOrUpperCaseIdentifiers return k.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)},k.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=[])},k.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=[])},k.prototype._initStyles=function(){this._stylesId&&h.removeStylesheet(this._stylesId),this._stylesId="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=h.createStylesheet(this._stylesId),null!==this._styles&&(this._styles._max=0)},k.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&&h.insertCSSRule(this._styles,c,"min-height: "+b(1,0)+";",0),a>this._styles._max)){for(var e=this._styles._max;e=f.grid.width||k<0?(f.opts.removable===!0&&f._setupRemovingTimeout(b),j=c._beforeDragX,k=c._beforeDragY,f.placeholder.detach(),f.placeholder.hide(),f.grid.removeNode(c),f._updateContainerHeight(),c._temporaryRemoved=!0):(f._clearRemovingTimeout(b),c._temporaryRemoved&&(f.grid.addNode(c),f.placeholder.attr("data-gs-x",j).attr("data-gs-y",k).attr("data-gs-width",h).attr("data-gs-height",i).show(),f.container.append(f.placeholder),c.el=f.placeholder,c._temporaryRemoved=!1));else if("resize"==a.type&&j<0)return;f.grid.canMoveNode(c,j,k,h,i)&&(f.grid.moveNode(c,j,k,h,i),f._updateContainerHeight())},h=function(g,h){f.container.append(f.placeholder);var i=a(this);f.grid.cleanNodes(),f.grid.beginUpdate(c),d=f.cellWidth();var j=Math.ceil(i.outerHeight()/i.attr("data-gs-height"));e=f.container.height()/parseInt(f.container.attr("data-gs-current-height")),f.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(),c.el=f.placeholder,c._beforeDragX=c.x,c._beforeDragY=c.y,b.resizable("option","minWidth",d*(c.minWidth||1)),b.resizable("option","minHeight",j*(c.minHeight||1)),"resizestart"==g.type&&i.find(".grid-stack-item").trigger("resizestart")},i=function(d,e){var g=a(this);if(g.data("_gridstack_node")){var h=!1;f.placeholder.detach(),c.el=g,f.placeholder.hide(),c._isAboutToRemove?(h=!0,b.removeData("_gridstack_node"),b.remove()):(f._clearRemovingTimeout(b),c._temporaryRemoved?(g.attr("data-gs-x",c._beforeDragX).attr("data-gs-y",c._beforeDragY).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style"),c.x=c._beforeDragX,c.y=c._beforeDragY,f.grid.addNode(c)):g.attr("data-gs-x",c.x).attr("data-gs-y",c.y).attr("data-gs-width",c.width).attr("data-gs-height",c.height).removeAttr("style")),f._updateContainerHeight(),f._triggerChangeEvent(h),f.grid.endUpdate();var i=g.find(".grid-stack");i.length&&"resizestop"==d.type&&(i.each(function(b,c){a(c).data("gridstack").onResizeHandler()}),g.find(".grid-stack-item").trigger("resizestop"))}};this.dd.draggable(b,{start:h,stop:i,drag:g}).resizable(b,{start:h,stop:i,resize:g}),(c.noMove||this._isOneColumnMode()||this.opts.disableDrag)&&this.dd.draggable(b,"disable"),(c.noResize||this._isOneColumnMode()||this.opts.disableResize)&&this.dd.resizable(b,"disable"),b.attr("data-gs-locked",c.locked?"yes":null)}},k.prototype._prepareElement=function(b,c){c="undefined"!=typeof c&&c;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:h.toBool(b.attr("data-gs-auto-position")),noResize:h.toBool(b.attr("data-gs-no-resize")),noMove:h.toBool(b.attr("data-gs-no-move")),locked:h.toBool(b.attr("data-gs-locked")),el:b,id:b.attr("data-gs-id"),_grid:d},c);b.data("_gridstack_node",e),this._prepareElementsByNode(b,e)},k.prototype.setAnimation=function(a){a?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},k.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},k.prototype.makeWidget=function(b){return b=a(b),this._prepareElement(b,!0),this._triggerAddEvent(),this._updateContainerHeight(),this._triggerChangeEvent(!0),b},k.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)},k.prototype.removeWidget=function(b,c){c="undefined"==typeof c||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()},k.prototype.removeAll=function(a){b.each(this.grid.nodes,b.bind(function(b){this.removeWidget(b.el,a)},this)),this.grid.nodes=[],this._updateContainerHeight()},k.prototype.destroy=function(b){a(window).off("resize",this.onResizeHandler),this.disable(),"undefined"==typeof b||b?this.container.remove():(this.removeAll(!1),this.container.removeData("gridstack")),h.removeStylesheet(this._stylesId),this.grid&&(this.grid=null)},k.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&&"undefined"!=typeof a.ui&&(f.noResize=!c,f.noResize||d._isOneColumnMode()?e.resizable("disable"):e.resizable("enable"))}),this},k.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&&"undefined"!=typeof a.ui&&(f.noMove=!c,f.noMove||d._isOneColumnMode()?(d.dd.draggable(e,"disable"),e.removeClass("ui-draggable-handle")):(d.dd.draggable(e,"enable"),e.addClass("ui-draggable-handle")))}),this},k.prototype.enableMove=function(a,b){this.movable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableDrag=!a)},k.prototype.enableResize=function(a,b){this.resizable(this.container.children("."+this.opts.itemClass),a),b&&(this.opts.disableResize=!a)},k.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")},k.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")},k.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},k.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},k.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},k.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},k.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},k.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()}},k.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)})},k.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)})},k.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)})},k.prototype.verticalMargin=function(a,b){if("undefined"==typeof a)return this.opts.verticalMargin;var c=h.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())},k.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=h.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())},k.prototype.cellWidth=function(){return Math.round(this.container.outerWidth()/this.opts.width)},k.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)}},k.prototype.batchUpdate=function(){this.grid.batchUpdate()},k.prototype.commit=function(){this.grid.commit(),this._updateContainerHeight()},k.prototype.isAreaEmpty=function(a,b,c,d){return this.grid.isAreaEmpty(a,b,c,d)},k.prototype.setStatic=function(a){this.opts.staticGrid=a===!0,this.enableMove(!a),this.enableResize(!a),this._setStaticClass()},k.prototype._setStaticClass=function(){var a="grid-stack-static";this.opts.staticGrid===!0?this.container.addClass(a):this.container.removeClass(a)},k.prototype._updateNodeWidths=function(a,b){this.grid._sortNodes(),this.grid.batchUpdate();for(var c={},d=0;d Date: Thu, 18 Aug 2016 21:42:59 -0700 Subject: [PATCH 13/52] fix direct resizable calling --- src/gridstack.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gridstack.js b/src/gridstack.js index b4e97a2cc..ce6e032f6 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -1189,8 +1189,8 @@ node._beforeDragX = node.x; node._beforeDragY = node.y; - el.resizable('option', 'minWidth', cellWidth * (node.minWidth || 1)); - el.resizable('option', 'minHeight', strictCellHeight * (node.minHeight || 1)); + self.dd.resizable(el, 'option', 'minWidth', cellWidth * (node.minWidth || 1)); + self.dd.resizable(el, 'option', 'minHeight', strictCellHeight * (node.minHeight || 1)); if (event.type == 'resizestart') { o.find('.grid-stack-item').trigger('resizestart'); @@ -1398,9 +1398,9 @@ node.noResize = !(val || false); if (node.noResize || self._isOneColumnMode()) { - el.resizable('disable'); + self.dd.resizable(el, 'disable'); } else { - el.resizable('enable'); + self.dd.resizable(el, 'enable'); } }); return this; From 3f193dbb3a6c5989e05885cc71664cd63019b041 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Thu, 18 Aug 2016 21:43:28 -0700 Subject: [PATCH 14/52] move jQueryUI plugin to separate file --- src/gridstack.jQueryUI.js | 97 +++++++++++++++++++++++++++++++++++++++ src/gridstack.js | 65 +------------------------- 2 files changed, 98 insertions(+), 64 deletions(-) create mode 100644 src/gridstack.jQueryUI.js diff --git a/src/gridstack.jQueryUI.js b/src/gridstack.jQueryUI.js new file mode 100644 index 000000000..1ae85754b --- /dev/null +++ b/src/gridstack.jQueryUI.js @@ -0,0 +1,97 @@ +/** + * gridstack.js 0.2.7-dev + * http://troolee.github.io/gridstack.js/ + * (c) 2014-2016 Pavel Reznikov + * gridstack.js may be freely distributed under the MIT license. + * @preserve +*/ +(function(factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', 'lodash', 'jquery-ui/data', 'jquery-ui/disable-selection', 'jquery-ui/focusable', + 'jquery-ui/form', 'jquery-ui/ie', 'jquery-ui/keycode', 'jquery-ui/labels', 'jquery-ui/jquery-1-7', + 'jquery-ui/plugin', 'jquery-ui/safe-active-element', 'jquery-ui/safe-blur', 'jquery-ui/scroll-parent', + 'jquery-ui/tabbable', 'jquery-ui/unique-id', 'jquery-ui/version', 'jquery-ui/widget', + 'jquery-ui/widgets/mouse', 'jquery-ui/widgets/draggable', 'jquery-ui/widgets/droppable', + 'jquery-ui/widgets/resizable'], factory); + } else if (typeof exports !== 'undefined') { + try { jQuery = require('jquery'); } catch (e) {} + try { _ = require('lodash'); } catch (e) {} + try { GridStackUI = require('gridstack'); } catch (e) {} + factory(jQuery, _, GridStackUI); + } else { + factory(jQuery, _, GridStackUI); + } +})(function($, _, GridStackUI) { + + var scope = window; + + /** + * @class JQueryUIGridStackDragDropPlugin + * jQuery UI implementation of drag'n'drop gridstack plugin. + */ + function JQueryUIGridStackDragDropPlugin(grid) { + GridStackUI.GridStackDragDropPlugin.call(this, grid); + } + + GridStackUI.GridStackDragDropPlugin.registerPlugin(JQueryUIGridStackDragDropPlugin); + + JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackUI.GridStackDragDropPlugin.prototype); + JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; + + JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) { + el = $(el); + if (opts === 'disable' || opts === 'enable') { + el.resizable(opts); + } else if (opts === 'option') { + var key = arguments[2]; + var value = arguments[3]; + el.resizable(opts, key, value); + } else { + el.resizable(_.extend({}, this.grid.opts.resizable, { + start: opts.start || function() {}, + stop: opts.stop || function() {}, + resize: opts.resize || function() {} + })); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) { + el = $(el); + if (opts === 'disable' || opts === 'enable') { + el.draggable(opts); + } else { + el.draggable(_.extend({}, this.grid.opts.draggable, { + containment: this.grid.opts.isNested ? this.grid.container.parent() : null, + start: opts.start || function() {}, + stop: opts.stop || function() {}, + drag: opts.drag || function() {} + })); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.droppable = function(el, opts) { + el = $(el); + if (opts === 'disable' || opts === 'enable') { + el.droppable(opts); + } else { + el.droppable({ + accept: opts.accept + }); + } + return this; + }; + + JQueryUIGridStackDragDropPlugin.prototype.isDroppable = function(el, opts) { + el = $(el); + return Boolean(el.data('droppable')); + }; + + JQueryUIGridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { + $(el).on(eventName, callback); + return this; + }; + + return JQueryUIGridStackDragDropPlugin; +}); diff --git a/src/gridstack.js b/src/gridstack.js index ce6e032f6..03c4d9076 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -158,69 +158,6 @@ return this; }; - /** - * @class JQueryUIGridStackDragDropPlugin - * jQuery UI implementation of drag'n'drop gridstack plugin. - */ - function JQueryUIGridStackDragDropPlugin(grid) { - GridStackDragDropPlugin.call(this, grid); - } - - GridStackDragDropPlugin.registerPlugin(JQueryUIGridStackDragDropPlugin); - - JQueryUIGridStackDragDropPlugin.prototype = Object.create(GridStackDragDropPlugin.prototype); - JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin; - - JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) { - el = $(el); - if (opts === 'disable' || opts === 'enable') { - el.resizable(opts); - } else { - el.resizable(_.extend({}, this.grid.opts.resizable, { - start: opts.start || function() {}, - stop: opts.stop || function() {}, - resize: opts.resize || function() {} - })); - } - return this; - }; - - JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) { - el = $(el); - if (opts === 'disable' || opts === 'enable') { - el.draggable(opts); - } else { - el.draggable(_.extend({}, this.grid.opts.draggable, { - containment: this.grid.opts.isNested ? this.grid.container.parent() : null, - start: opts.start || function() {}, - stop: opts.stop || function() {}, - drag: opts.drag || function() {} - })); - } - return this; - }; - - JQueryUIGridStackDragDropPlugin.prototype.droppable = function(el, opts) { - el = $(el); - if (opts === 'disable' || opts === 'enable') { - el.droppable(opts); - } else { - el.droppable({ - accept: opts.accept - }); - } - return this; - }; - - JQueryUIGridStackDragDropPlugin.prototype.isDroppable = function(el, opts) { - el = $(el); - return Boolean(el.data('droppable')); - }; - - JQueryUIGridStackDragDropPlugin.prototype.on = function(el, eventName, callback) { - $(el).on(eventName, callback); - return this; - }; var idSeq = 0; @@ -676,7 +613,7 @@ if (this.opts.ddPlugin === false) { this.opts.ddPlugin = GridStackDragDropPlugin; } else if (this.opts.ddPlugin === null) { - this.opts.ddPlugin = _.first(GridStackDragDropPlugin.registeredPlugins); + this.opts.ddPlugin = _.first(GridStackDragDropPlugin.registeredPlugins) || GridStackDragDropPlugin; } this.dd = new this.opts.ddPlugin(this); From a9a332cd8f510818083160f0f367bbd92a7c46cb Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Thu, 18 Aug 2016 21:43:48 -0700 Subject: [PATCH 15/52] update gruntfile/karma --- Gruntfile.js | 7 +++++-- karma.conf.js | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index d4c7714a9..124b69fc8 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -37,7 +37,8 @@ module.exports = function(grunt) { copy: { dist: { files: { - 'dist/gridstack.js': ['src/gridstack.js'] + 'dist/gridstack.js': ['src/gridstack.js'], + 'dist/gridstack.jQueryUI.js': ['src/gridstack.jQueryUI.js'], } } }, @@ -50,7 +51,9 @@ module.exports = function(grunt) { }, dist: { files: { - 'dist/gridstack.min.js': ['src/gridstack.js'] + 'dist/gridstack.min.js': ['src/gridstack.js'], + 'dist/gridstack.jQueryUI.js': ['src/gridstack.jQueryUI.js'], + 'dist/gridstack.all.js': ['src/gridstack.js', 'src/gridstack.jQueryUI.js'] } } }, diff --git a/karma.conf.js b/karma.conf.js index a2472dad6..4230ca8a3 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -19,6 +19,7 @@ module.exports = function(config) { 'bower_components/jquery-ui/jquery-ui.min.js', 'bower_components/lodash/dist/lodash.min.js', 'src/gridstack.js', + 'src/gridstack.jQueryUI.js', 'spec/*-spec.js' ], @@ -31,7 +32,8 @@ module.exports = function(config) { // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { - 'src/gridstack.js': ['coverage'] + 'src/gridstack.js': ['coverage'], + 'src/gridstack.jQueryUI.js': ['coverage'], }, From 625a8378b4b4fb4a65633fea146eb49e5379cb91 Mon Sep 17 00:00:00 2001 From: Pavel Reznikov Date: Thu, 18 Aug 2016 21:43:55 -0700 Subject: [PATCH 16/52] update tests --- spec/e2e/html/gridstack-with-height.html | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/e2e/html/gridstack-with-height.html b/spec/e2e/html/gridstack-with-height.html index 4845ef6c1..2f543eba0 100644 --- a/spec/e2e/html/gridstack-with-height.html +++ b/spec/e2e/html/gridstack-with-height.html @@ -18,6 +18,7 @@ +