diff --git a/README.md b/README.md
index 7748b5b..48c3471 100644
--- a/README.md
+++ b/README.md
@@ -31,6 +31,7 @@ Inspired by [gridster.js](http://gridster.net). Built with love.
- [cell_height(val)](#cell_heightval)
- [cell_width()](#cell_width)
- [commit()](#commit)
+ - [destroy()](#destroy)
- [disable()](#disable)
- [enable()](#enable)
- [get_cell_from_pixel(position)](#get_cell_from_pixelposition)
@@ -255,6 +256,10 @@ Gets current cell width.
Finishes batch updates. Updates DOM nodes. You must call it after `batch_update`.
+### destroy()
+
+Destroys a grid instance.
+
### disable()
Disables widgets moving/resizing. This is a shortcut for:
@@ -687,6 +692,8 @@ Changes
- fix closure compiler/linter warnings
- add `static_grid` option.
+- add `min_width`/`min_height` methods (Thanks to @cvillemure)
+- add `destroy` method (Thanks to @zspitzer)
#### v0.2.3 (2015-06-23)
diff --git a/dist/gridstack.js b/dist/gridstack.js
index ab214fa..797cd08 100644
--- a/dist/gridstack.js
+++ b/dist/gridstack.js
@@ -39,7 +39,9 @@
document.getElementsByTagName('head')[0].appendChild(style);
return style.sheet;
},
-
+ remove_stylesheet: function(id) {
+ $("STYLE[data-gs-id=" + id +"]").remove();
+ },
insert_css_rule: function(sheet, selector, rules, index) {
if (typeof sheet.insertRule === 'function') {
sheet.insertRule(selector + '{' + rules + '}', index);
@@ -463,7 +465,7 @@
this.grid.get_grid_height() * (this.opts.cell_height + this.opts.vertical_margin) -
this.opts.vertical_margin);
- var on_resize_handler = function() {
+ this.on_resize_handler = function() {
if (self._is_one_column_mode()) {
if (one_column_mode)
return;
@@ -506,8 +508,23 @@
}
};
- $(window).resize(on_resize_handler);
- on_resize_handler();
+ $(window).resize(this.on_resize_handler);
+ this.on_resize_handler();
+ };
+
+ GridStack.prototype._trigger_change_event = function(forceTrigger) {
+ var elements = this.grid.get_dirty_nodes();
+ var hasChanges = false;
+
+ var eventParams = [];
+ if (elements && elements.length) {
+ eventParams.push(elements);
+ hasChanges = true;
+ }
+
+ if (hasChanges || forceTrigger === true) {
+ this.container.trigger('change', eventParams);
+ }
};
GridStack.prototype._init_styles = function() {
@@ -638,9 +655,7 @@
.attr('data-gs-height', node.height)
.removeAttr('style');
self._update_container_height();
- var elements = self.grid.get_dirty_nodes();
- if (elements && elements.length)
- self.container.trigger('change', [elements]);
+ self._trigger_change_event();
self.grid.end_update();
};
@@ -704,6 +719,7 @@
this.container.append(el);
this._prepare_element(el);
this._update_container_height();
+ this._trigger_change_event(true);
return el;
};
@@ -722,6 +738,7 @@
this._update_container_height();
if (detach_node)
el.remove();
+ this._trigger_change_event(true);
};
GridStack.prototype.remove_all = function(detach_node) {
@@ -732,6 +749,15 @@
this._update_container_height();
};
+ GridStack.prototype.destroy = function() {
+ $(window).off("resize", this.on_resize_handler);
+ this.disable();
+ this.container.remove();
+ Utils.remove_stylesheet(this._styles_id);
+ if (this.grid)
+ this.grid = null;
+ };
+
GridStack.prototype.resizable = function(el, val) {
el = $(el);
el.each(function(index, el) {
@@ -797,6 +823,40 @@
return this;
};
+ GridStack.prototype.min_height = function (el, val) {
+ el = $(el);
+ el.each(function (index, el) {
+ el = $(el);
+ var node = el.data('_gridstack_node');
+ if (typeof node == 'undefined' || node == null) {
+ return;
+ }
+
+ if(!isNaN(val)){
+ node.min_height = (val || false);
+ el.attr('data-gs-min-height', val);
+ }
+ });
+ return this;
+ };
+
+ GridStack.prototype.min_width = function (el, val) {
+ el = $(el);
+ el.each(function (index, el) {
+ el = $(el);
+ var node = el.data('_gridstack_node');
+ if (typeof node == 'undefined' || node == null) {
+ return;
+ }
+
+ if(!isNaN(val)){
+ node.min_width = (val || false);
+ el.attr('data-gs-min-width', val);
+ }
+ });
+ return this;
+ };
+
GridStack.prototype._update_element = function(el, callback) {
el = $(el).first();
var node = el.data('_gridstack_node');
@@ -812,9 +872,7 @@
callback.call(this, el, node);
self._update_container_height();
- var elements = self.grid.get_dirty_nodes();
- if (elements && elements.length)
- self.container.trigger('change', [elements]);
+ self._trigger_change_event();
self.grid.end_update();
};
diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js
index 6bcee7c..7eebb52 100644
--- a/dist/gridstack.min.js
+++ b/dist/gridstack.min.js
@@ -1,2 +1,2 @@
-!function(t){"function"==typeof define&&define.amd?define(["jquery","lodash","jquery-ui/core","jquery-ui/widget","jquery-ui/mouse","jquery-ui/draggable","jquery-ui/resizable"],t):t(jQuery,_)}(function(t,e){var i=window,n={is_intercepted:function(t,e){return!(t.x+t.width<=e.x||e.x+e.width<=t.x||t.y+t.height<=e.y||e.y+e.height<=t.y)},sort:function(t,i,n){return n=n||e.chain(t).map(function(t){return t.x+t.width}).max().value(),i=-1!=i?1:-1,e.sortBy(t,function(t){return i*(t.x+t.y*n)})},create_stylesheet:function(t){var e=document.createElement("style");return e.setAttribute("type","text/css"),e.setAttribute("data-gs-id",t),e.styleSheet?e.styleSheet.cssText="":e.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(e),e.sheet},insert_css_rule:function(t,e,i,n){"function"==typeof t.insertRule?t.insertRule(e+"{"+i+"}",n):"function"==typeof t.addRule&&t.addRule(e,i,n)},toBool:function(t){return"boolean"==typeof t?t:"string"==typeof t?(t=t.toLowerCase(),!(""==t||"no"==t||"false"==t||"0"==t)):Boolean(t)}},o=0,s=function(t,e,i,n,o){this.width=t,this["float"]=i||!1,this.height=n||0,this.nodes=o||[],this.onchange=e||function(){},this._update_counter=0,this._float=this["float"]};s.prototype.batch_update=function(){this._update_counter=1,this["float"]=!0},s.prototype.commit=function(){this._update_counter=0,0==this._update_counter&&(this["float"]=this._float,this._pack_nodes(),this._notify())},s.prototype._fix_collisions=function(t){this._sort_nodes(-1);var i=t,o=Boolean(e.find(this.nodes,function(t){return t.locked}));for(this["float"]||o||(i={x:0,y:t.y,width:this.width,height:t.height});;){var s=e.find(this.nodes,function(e){return e!=t&&n.is_intercepted(e,i)},this);if("undefined"==typeof s)return;this.move_node(s,s.x,t.y+t.height,s.width,s.height,!0)}},s.prototype.is_area_empty=function(t,i,o,s){var a={x:t||0,y:i||0,width:o||1,height:s||1},h=e.find(this.nodes,function(t){return n.is_intercepted(t,a)},this);return null==h},s.prototype._sort_nodes=function(t){this.nodes=n.sort(this.nodes,t,this.width)},s.prototype._pack_nodes=function(){this._sort_nodes(),this["float"]?e.each(this.nodes,function(t,i){if(!t._updating&&"undefined"!=typeof t._orig_y&&t.y!=t._orig_y)for(var o=t.y;o>=t._orig_y;){var s=e.chain(this.nodes).find(function(e){return t!=e&&n.is_intercepted({x:t.x,y:o,width:t.width,height:t.height},e)}).value();s||(t._dirty=!0,t.y=o),--o}},this):e.each(this.nodes,function(t,i){if(!t.locked)for(;t.y>0;){var o=t.y-1,s=0==i;if(i>0){var a=e.chain(this.nodes).take(i).find(function(e){return n.is_intercepted({x:t.x,y:o,width:t.width,height:t.height},e)}).value();s="undefined"==typeof a}if(!s)break;t._dirty=t.y!=o,t.y=o}},this)},s.prototype._prepare_node=function(t,i){return t=e.defaults(t||{},{width:1,height:1,x:0,y:0}),t.x=parseInt(""+t.x),t.y=parseInt(""+t.y),t.width=parseInt(""+t.width),t.height=parseInt(""+t.height),t.auto_position=t.auto_position||!1,t.no_resize=t.no_resize||!1,t.no_move=t.no_move||!1,t.width>this.width?t.width=this.width:t.width<1&&(t.width=1),t.height<1&&(t.height=1),t.x<0&&(t.x=0),t.x+t.width>this.width&&(i?t.width=this.width-t.x:t.x=this.width-t.width),t.y<0&&(t.y=0),t},s.prototype._notify=function(){if(!this._update_counter){var t=Array.prototype.slice.call(arguments,1).concat(this.get_dirty_nodes());t=t.concat(this.get_dirty_nodes()),this.onchange(t)}},s.prototype.clean_nodes=function(){e.each(this.nodes,function(t){t._dirty=!1})},s.prototype.get_dirty_nodes=function(){return e.filter(this.nodes,function(t){return t._dirty})},s.prototype.add_node=function(t){if(t=this._prepare_node(t),"undefined"!=typeof t.max_width&&(t.width=Math.min(t.width,t.max_width)),"undefined"!=typeof t.max_height&&(t.height=Math.min(t.height,t.max_height)),"undefined"!=typeof t.min_width&&(t.width=Math.max(t.width,t.min_width)),"undefined"!=typeof t.min_height&&(t.height=Math.max(t.height,t.min_height)),t._id=++o,t._dirty=!0,t.auto_position){this._sort_nodes();for(var i=0;;++i){var s=i%this.width,a=Math.floor(i/this.width);if(!(s+t.width>this.width||e.find(this.nodes,function(e){return n.is_intercepted({x:s,y:a,width:t.width,height:t.height},e)}))){t.x=s,t.y=a;break}}}return this.nodes.push(t),this._fix_collisions(t),this._pack_nodes(),this._notify(),t},s.prototype.remove_node=function(t){t._id=null,this.nodes=e.without(this.nodes,t),this._pack_nodes(),this._notify(t)},s.prototype.can_move_node=function(i,n,o,a,h){var d=Boolean(e.find(this.nodes,function(t){return t.locked}));if(!this.height&&!d)return!0;var r,_=new s(this.width,null,this["float"],0,e.map(this.nodes,function(e){return e==i?r=t.extend({},e):t.extend({},e)}));_.move_node(r,n,o,a,h);var l=!0;return d&&(l&=!Boolean(e.find(_.nodes,function(t){return t!=r&&Boolean(t.locked)&&Boolean(t._dirty)}))),this.height&&(l&=_.get_grid_height()<=this.height),l},s.prototype.can_be_placed_with_respect_to_height=function(i){if(!this.height)return!0;var n=new s(this.width,null,this["float"],0,e.map(this.nodes,function(e){return t.extend({},e)}));return n.add_node(i),n.get_grid_height()<=this.height},s.prototype.move_node=function(t,e,i,n,o,s){if("number"!=typeof e&&(e=t.x),"number"!=typeof i&&(i=t.y),"number"!=typeof n&&(n=t.width),"number"!=typeof o&&(o=t.height),"undefined"!=typeof t.max_width&&(n=Math.min(n,t.max_width)),"undefined"!=typeof t.max_height&&(o=Math.min(o,t.max_height)),"undefined"!=typeof t.min_width&&(n=Math.max(n,t.min_width)),"undefined"!=typeof t.min_height&&(o=Math.max(o,t.min_height)),t.x==e&&t.y==i&&t.width==n&&t.height==o)return t;var a=t.width!=n;return t._dirty=!0,t.x=e,t.y=i,t.width=n,t.height=o,t=this._prepare_node(t,a),this._fix_collisions(t),s||(this._pack_nodes(),this._notify()),t},s.prototype.get_grid_height=function(){return e.reduce(this.nodes,function(t,e){return Math.max(t,e.y+e.height)},0)},s.prototype.begin_update=function(t){e.each(this.nodes,function(t){t._orig_y=t.y}),t._updating=!0},s.prototype.end_update=function(){e.each(this.nodes,function(t){t._orig_y=t.y});var t=e.find(this.nodes,function(t){return t._updating});t&&(t._updating=!1)};var a=function(i,n){var o,a=this;this.container=t(i),n.item_class=n.item_class||"grid-stack-item";var h=this.container.closest("."+n.item_class).size()>0;if(this.opts=e.defaults(n||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,item_class:"grid-stack-item",placeholder_class:"grid-stack-placeholder",handle:".grid-stack-item-content",cell_height:60,vertical_margin:20,auto:!0,min_width:768,"float":!1,static_grid:!1,_class:"grid-stack-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,always_show_resize_handle:n.always_show_resize_handle||!1,resizable:e.defaults(n.resizable||{},{autoHide:!n.always_show_resize_handle,handles:"se"}),draggable:e.defaults(n.draggable||{},{handle:".grid-stack-item-content",scroll:!1,appendTo:"body"})}),this.opts.is_nested=h,this.container.addClass(this.opts._class),h&&this.container.addClass("grid-stack-nested"),this._init_styles(),this.grid=new s(this.opts.width,function(t){var i=0;e.each(t,function(t){null==t._id?t.el.remove():(t.el.attr("data-gs-x",t.x).attr("data-gs-y",t.y).attr("data-gs-width",t.width).attr("data-gs-height",t.height),i=Math.max(i,t.y+t.height))}),a._update_styles(i+10)},this.opts["float"],this.opts.height),this.opts.auto){var d=[],r=this;this.container.children("."+this.opts.item_class).each(function(e,i){i=t(i),d.push({el:i,i:parseInt(i.attr("data-gs-x"))+parseInt(i.attr("data-gs-y"))*r.opts.width})}),e.chain(d).sortBy(function(t){return t.i}).each(function(t){a._prepare_element(t.el)}).value()}this.set_animation(this.opts.animate),this.placeholder=t('
').hide(),this.container.height(this.grid.get_grid_height()*(this.opts.cell_height+this.opts.vertical_margin)-this.opts.vertical_margin);var _=function(){if(a._is_one_column_mode()){if(o)return;o=!0,a.grid._sort_nodes(),e.each(a.grid.nodes,function(t){a.container.append(t.el),a.opts.static_grid||(t.no_move||t.el.draggable("disable"),t.no_resize||t.el.resizable("disable"))})}else{if(!o)return;if(o=!1,a.opts.static_grid)return;e.each(a.grid.nodes,function(t){t.no_move||t.el.draggable("enable"),t.no_resize||t.el.resizable("enable")})}};t(window).resize(_),_()};return a.prototype._init_styles=function(){this._styles_id&&t('[data-gs-id="'+this._styles_id+'"]').remove(),this._styles_id="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=n.create_stylesheet(this._styles_id),null!=this._styles&&(this._styles._max=0)},a.prototype._update_styles=function(t){if(null!=this._styles){var e="."+this.opts._class+" ."+this.opts.item_class;if("undefined"==typeof t&&(t=this._styles._max,this._init_styles(),this._update_container_height()),0==this._styles._max&&n.insert_css_rule(this._styles,e,"min-height: "+this.opts.cell_height+"px;",0),t>this._styles._max){for(var i=this._styles._max;t>i;++i)n.insert_css_rule(this._styles,e+'[data-gs-height="'+(i+1)+'"]',"height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-min-height="'+(i+1)+'"]',"min-height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-max-height="'+(i+1)+'"]',"max-height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-y="'+i+'"]',"top: "+(this.opts.cell_height*i+this.opts.vertical_margin*i)+"px;",i);this._styles._max=t}}},a.prototype._update_container_height=function(){this.grid._update_counter||this.container.height(this.grid.get_grid_height()*(this.opts.cell_height+this.opts.vertical_margin)-this.opts.vertical_margin)},a.prototype._is_one_column_mode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.min_width},a.prototype._prepare_element=function(i){var o=this;i=t(i),i.addClass(this.opts.item_class);var s=o.grid.add_node({x:i.attr("data-gs-x"),y:i.attr("data-gs-y"),width:i.attr("data-gs-width"),height:i.attr("data-gs-height"),max_width:i.attr("data-gs-max-width"),min_width:i.attr("data-gs-min-width"),max_height:i.attr("data-gs-max-height"),min_height:i.attr("data-gs-min-height"),auto_position:n.toBool(i.attr("data-gs-auto-position")),no_resize:n.toBool(i.attr("data-gs-no-resize")),no_move:n.toBool(i.attr("data-gs-no-move")),locked:n.toBool(i.attr("data-gs-locked")),el:i});if(i.data("_gridstack_node",s),!o.opts.static_grid){var a,h,d=function(e,n){o.container.append(o.placeholder);var d=t(this);o.grid.clean_nodes(),o.grid.begin_update(s),a=Math.ceil(d.outerWidth()/d.attr("data-gs-width")),h=o.opts.cell_height+o.opts.vertical_margin,o.placeholder.attr("data-gs-x",d.attr("data-gs-x")).attr("data-gs-y",d.attr("data-gs-y")).attr("data-gs-width",d.attr("data-gs-width")).attr("data-gs-height",d.attr("data-gs-height")).show(),s.el=o.placeholder,i.resizable("option","minWidth",a*(s.min_width||1)),i.resizable("option","minHeight",o.opts.cell_height*(s.min_height||1))},r=function(e,i){o.placeholder.detach();var n=t(this);s.el=n,o.placeholder.hide(),n.attr("data-gs-x",s.x).attr("data-gs-y",s.y).attr("data-gs-width",s.width).attr("data-gs-height",s.height).removeAttr("style"),o._update_container_height();var a=o.grid.get_dirty_nodes();a&&a.length&&o.container.trigger("change",[a]),o.grid.end_update()};i.draggable(e.extend(this.opts.draggable,{start:d,stop:r,drag:function(t,e){var i=Math.round(e.position.left/a),n=Math.floor((e.position.top+h/2)/h);o.grid.can_move_node(s,i,n,s.width,s.height)&&(o.grid.move_node(s,i,n),o._update_container_height())},containment:this.opts.is_nested?this.container.parent():null})).resizable(e.extend(this.opts.resizable,{start:d,stop:r,resize:function(t,e){var i=Math.round(e.position.left/a),n=Math.floor((e.position.top+h/2)/h),d=Math.round(e.size.width/a),r=Math.round(e.size.height/h);o.grid.can_move_node(s,i,n,d,r)&&(o.grid.move_node(s,i,n,d,r),o._update_container_height())}})),(s.no_move||this._is_one_column_mode())&&i.draggable("disable"),(s.no_resize||this._is_one_column_mode())&&i.resizable("disable"),i.attr("data-gs-locked",s.locked?"yes":null)}},a.prototype.set_animation=function(t){t?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},a.prototype.add_widget=function(e,i,n,o,s,a){return e=t(e),"undefined"!=typeof i&&e.attr("data-gs-x",i),"undefined"!=typeof n&&e.attr("data-gs-y",n),"undefined"!=typeof o&&e.attr("data-gs-width",o),"undefined"!=typeof s&&e.attr("data-gs-height",s),"undefined"!=typeof a&&e.attr("data-gs-auto-position",a?"yes":null),this.container.append(e),this._prepare_element(e),this._update_container_height(),e},a.prototype.will_it_fit=function(t,e,i,n,o){var s={x:t,y:e,width:i,height:n,auto_position:o};return this.grid.can_be_placed_with_respect_to_height(s)},a.prototype.remove_widget=function(e,i){i="undefined"==typeof i?!0:i,e=t(e);var n=e.data("_gridstack_node");this.grid.remove_node(n),e.removeData("_gridstack_node"),this._update_container_height(),i&&e.remove()},a.prototype.remove_all=function(t){e.each(this.grid.nodes,function(e){this.remove_widget(e.el,t)},this),this.grid.nodes=[],this._update_container_height()},a.prototype.resizable=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.no_resize=!i,o.no_resize?n.resizable("disable"):n.resizable("enable"))}),this},a.prototype.movable=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.no_move=!i,o.no_move?n.draggable("disable"):n.draggable("enable"))}),this},a.prototype.disable=function(){this.movable(this.container.children("."+this.opts.item_class),!1),this.resizable(this.container.children("."+this.opts.item_class),!1)},a.prototype.enable=function(){this.movable(this.container.children("."+this.opts.item_class),!0),this.resizable(this.container.children("."+this.opts.item_class),!0)},a.prototype.locked=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.locked=i||!1,n.attr("data-gs-locked",o.locked?"yes":null))}),this},a.prototype._update_element=function(e,i){e=t(e).first();var n=e.data("_gridstack_node");if("undefined"!=typeof n&&null!=n){var o=this;o.grid.clean_nodes(),o.grid.begin_update(n),i.call(this,e,n),o._update_container_height();var s=o.grid.get_dirty_nodes();s&&s.length&&o.container.trigger("change",[s]),o.grid.end_update()}},a.prototype.resize=function(t,e,i){this._update_element(t,function(t,n){e=null!=e&&"undefined"!=typeof e?e:n.width,i=null!=i&&"undefined"!=typeof i?i:n.height,this.grid.move_node(n,n.x,n.y,e,i)})},a.prototype.move=function(t,e,i){this._update_element(t,function(t,n){e=null!=e&&"undefined"!=typeof e?e:n.x,i=null!=i&&"undefined"!=typeof i?i:n.y,this.grid.move_node(n,e,i,n.width,n.height)})},a.prototype.update=function(t,e,i,n,o){this._update_element(t,function(t,s){e=null!=e&&"undefined"!=typeof e?e:s.x,i=null!=i&&"undefined"!=typeof i?i:s.y,n=null!=n&&"undefined"!=typeof n?n:s.width,o=null!=o&&"undefined"!=typeof o?o:s.height,this.grid.move_node(s,e,i,n,o)})},a.prototype.cell_height=function(t){return"undefined"==typeof t?this.opts.cell_height:(t=parseInt(t),void(t!=this.opts.cell_height&&(this.opts.cell_height=t||this.opts.cell_height,this._update_styles())))},a.prototype.cell_width=function(){var t=this.container.children("."+this.opts.item_class).first();return Math.ceil(t.outerWidth()/t.attr("data-gs-width"))},a.prototype.get_cell_from_pixel=function(t){var e=this.container.position(),i=t.left-e.left,n=t.top-e.top,o=Math.floor(this.container.width()/this.opts.width),s=this.opts.cell_height+this.opts.vertical_margin;return{x:Math.floor(i/o),y:Math.floor(n/s)}},a.prototype.batch_update=function(){this.grid.batch_update()},a.prototype.commit=function(){this.grid.commit(),this._update_container_height()},a.prototype.is_area_empty=function(t,e,i,n){return this.grid.is_area_empty(t,e,i,n)},i.GridStackUI=a,i.GridStackUI.Utils=n,t.fn.gridstack=function(e){return this.each(function(){t(this).data("gridstack")||t(this).data("gridstack",new a(this,e))})},i.GridStackUI});
+!function(t){"function"==typeof define&&define.amd?define(["jquery","lodash","jquery-ui/core","jquery-ui/widget","jquery-ui/mouse","jquery-ui/draggable","jquery-ui/resizable"],t):t(jQuery,_)}(function(t,e){var i=window,n={is_intercepted:function(t,e){return!(t.x+t.width<=e.x||e.x+e.width<=t.x||t.y+t.height<=e.y||e.y+e.height<=t.y)},sort:function(t,i,n){return n=n||e.chain(t).map(function(t){return t.x+t.width}).max().value(),i=-1!=i?1:-1,e.sortBy(t,function(t){return i*(t.x+t.y*n)})},create_stylesheet:function(t){var e=document.createElement("style");return e.setAttribute("type","text/css"),e.setAttribute("data-gs-id",t),e.styleSheet?e.styleSheet.cssText="":e.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(e),e.sheet},remove_stylesheet:function(e){t("STYLE[data-gs-id="+e+"]").remove()},insert_css_rule:function(t,e,i,n){"function"==typeof t.insertRule?t.insertRule(e+"{"+i+"}",n):"function"==typeof t.addRule&&t.addRule(e,i,n)},toBool:function(t){return"boolean"==typeof t?t:"string"==typeof t?(t=t.toLowerCase(),!(""==t||"no"==t||"false"==t||"0"==t)):Boolean(t)}},o=0,s=function(t,e,i,n,o){this.width=t,this["float"]=i||!1,this.height=n||0,this.nodes=o||[],this.onchange=e||function(){},this._update_counter=0,this._float=this["float"]};s.prototype.batch_update=function(){this._update_counter=1,this["float"]=!0},s.prototype.commit=function(){this._update_counter=0,0==this._update_counter&&(this["float"]=this._float,this._pack_nodes(),this._notify())},s.prototype._fix_collisions=function(t){this._sort_nodes(-1);var i=t,o=Boolean(e.find(this.nodes,function(t){return t.locked}));for(this["float"]||o||(i={x:0,y:t.y,width:this.width,height:t.height});;){var s=e.find(this.nodes,function(e){return e!=t&&n.is_intercepted(e,i)},this);if("undefined"==typeof s)return;this.move_node(s,s.x,t.y+t.height,s.width,s.height,!0)}},s.prototype.is_area_empty=function(t,i,o,s){var a={x:t||0,y:i||0,width:o||1,height:s||1},h=e.find(this.nodes,function(t){return n.is_intercepted(t,a)},this);return null==h},s.prototype._sort_nodes=function(t){this.nodes=n.sort(this.nodes,t,this.width)},s.prototype._pack_nodes=function(){this._sort_nodes(),this["float"]?e.each(this.nodes,function(t,i){if(!t._updating&&"undefined"!=typeof t._orig_y&&t.y!=t._orig_y)for(var o=t.y;o>=t._orig_y;){var s=e.chain(this.nodes).find(function(e){return t!=e&&n.is_intercepted({x:t.x,y:o,width:t.width,height:t.height},e)}).value();s||(t._dirty=!0,t.y=o),--o}},this):e.each(this.nodes,function(t,i){if(!t.locked)for(;t.y>0;){var o=t.y-1,s=0==i;if(i>0){var a=e.chain(this.nodes).take(i).find(function(e){return n.is_intercepted({x:t.x,y:o,width:t.width,height:t.height},e)}).value();s="undefined"==typeof a}if(!s)break;t._dirty=t.y!=o,t.y=o}},this)},s.prototype._prepare_node=function(t,i){return t=e.defaults(t||{},{width:1,height:1,x:0,y:0}),t.x=parseInt(""+t.x),t.y=parseInt(""+t.y),t.width=parseInt(""+t.width),t.height=parseInt(""+t.height),t.auto_position=t.auto_position||!1,t.no_resize=t.no_resize||!1,t.no_move=t.no_move||!1,t.width>this.width?t.width=this.width:t.width<1&&(t.width=1),t.height<1&&(t.height=1),t.x<0&&(t.x=0),t.x+t.width>this.width&&(i?t.width=this.width-t.x:t.x=this.width-t.width),t.y<0&&(t.y=0),t},s.prototype._notify=function(){if(!this._update_counter){var t=Array.prototype.slice.call(arguments,1).concat(this.get_dirty_nodes());t=t.concat(this.get_dirty_nodes()),this.onchange(t)}},s.prototype.clean_nodes=function(){e.each(this.nodes,function(t){t._dirty=!1})},s.prototype.get_dirty_nodes=function(){return e.filter(this.nodes,function(t){return t._dirty})},s.prototype.add_node=function(t){if(t=this._prepare_node(t),"undefined"!=typeof t.max_width&&(t.width=Math.min(t.width,t.max_width)),"undefined"!=typeof t.max_height&&(t.height=Math.min(t.height,t.max_height)),"undefined"!=typeof t.min_width&&(t.width=Math.max(t.width,t.min_width)),"undefined"!=typeof t.min_height&&(t.height=Math.max(t.height,t.min_height)),t._id=++o,t._dirty=!0,t.auto_position){this._sort_nodes();for(var i=0;;++i){var s=i%this.width,a=Math.floor(i/this.width);if(!(s+t.width>this.width||e.find(this.nodes,function(e){return n.is_intercepted({x:s,y:a,width:t.width,height:t.height},e)}))){t.x=s,t.y=a;break}}}return this.nodes.push(t),this._fix_collisions(t),this._pack_nodes(),this._notify(),t},s.prototype.remove_node=function(t){t._id=null,this.nodes=e.without(this.nodes,t),this._pack_nodes(),this._notify(t)},s.prototype.can_move_node=function(i,n,o,a,h){var r=Boolean(e.find(this.nodes,function(t){return t.locked}));if(!this.height&&!r)return!0;var d,_=new s(this.width,null,this["float"],0,e.map(this.nodes,function(e){return e==i?d=t.extend({},e):t.extend({},e)}));_.move_node(d,n,o,a,h);var l=!0;return r&&(l&=!Boolean(e.find(_.nodes,function(t){return t!=d&&Boolean(t.locked)&&Boolean(t._dirty)}))),this.height&&(l&=_.get_grid_height()<=this.height),l},s.prototype.can_be_placed_with_respect_to_height=function(i){if(!this.height)return!0;var n=new s(this.width,null,this["float"],0,e.map(this.nodes,function(e){return t.extend({},e)}));return n.add_node(i),n.get_grid_height()<=this.height},s.prototype.move_node=function(t,e,i,n,o,s){if("number"!=typeof e&&(e=t.x),"number"!=typeof i&&(i=t.y),"number"!=typeof n&&(n=t.width),"number"!=typeof o&&(o=t.height),"undefined"!=typeof t.max_width&&(n=Math.min(n,t.max_width)),"undefined"!=typeof t.max_height&&(o=Math.min(o,t.max_height)),"undefined"!=typeof t.min_width&&(n=Math.max(n,t.min_width)),"undefined"!=typeof t.min_height&&(o=Math.max(o,t.min_height)),t.x==e&&t.y==i&&t.width==n&&t.height==o)return t;var a=t.width!=n;return t._dirty=!0,t.x=e,t.y=i,t.width=n,t.height=o,t=this._prepare_node(t,a),this._fix_collisions(t),s||(this._pack_nodes(),this._notify()),t},s.prototype.get_grid_height=function(){return e.reduce(this.nodes,function(t,e){return Math.max(t,e.y+e.height)},0)},s.prototype.begin_update=function(t){e.each(this.nodes,function(t){t._orig_y=t.y}),t._updating=!0},s.prototype.end_update=function(){e.each(this.nodes,function(t){t._orig_y=t.y});var t=e.find(this.nodes,function(t){return t._updating});t&&(t._updating=!1)};var a=function(i,n){var o,a=this;this.container=t(i),n.item_class=n.item_class||"grid-stack-item";var h=this.container.closest("."+n.item_class).size()>0;if(this.opts=e.defaults(n||{},{width:parseInt(this.container.attr("data-gs-width"))||12,height:parseInt(this.container.attr("data-gs-height"))||0,item_class:"grid-stack-item",placeholder_class:"grid-stack-placeholder",handle:".grid-stack-item-content",cell_height:60,vertical_margin:20,auto:!0,min_width:768,"float":!1,static_grid:!1,_class:"grid-stack-"+(1e4*Math.random()).toFixed(0),animate:Boolean(this.container.attr("data-gs-animate"))||!1,always_show_resize_handle:n.always_show_resize_handle||!1,resizable:e.defaults(n.resizable||{},{autoHide:!n.always_show_resize_handle,handles:"se"}),draggable:e.defaults(n.draggable||{},{handle:".grid-stack-item-content",scroll:!1,appendTo:"body"})}),this.opts.is_nested=h,this.container.addClass(this.opts._class),h&&this.container.addClass("grid-stack-nested"),this._init_styles(),this.grid=new s(this.opts.width,function(t){var i=0;e.each(t,function(t){null==t._id?t.el.remove():(t.el.attr("data-gs-x",t.x).attr("data-gs-y",t.y).attr("data-gs-width",t.width).attr("data-gs-height",t.height),i=Math.max(i,t.y+t.height))}),a._update_styles(i+10)},this.opts["float"],this.opts.height),this.opts.auto){var r=[],d=this;this.container.children("."+this.opts.item_class).each(function(e,i){i=t(i),r.push({el:i,i:parseInt(i.attr("data-gs-x"))+parseInt(i.attr("data-gs-y"))*d.opts.width})}),e.chain(r).sortBy(function(t){return t.i}).each(function(t){a._prepare_element(t.el)}).value()}this.set_animation(this.opts.animate),this.placeholder=t('').hide(),this.container.height(this.grid.get_grid_height()*(this.opts.cell_height+this.opts.vertical_margin)-this.opts.vertical_margin),this.on_resize_handler=function(){if(a._is_one_column_mode()){if(o)return;o=!0,a.grid._sort_nodes(),e.each(a.grid.nodes,function(t){a.container.append(t.el),a.opts.static_grid||(t.no_move||t.el.draggable("disable"),t.no_resize||t.el.resizable("disable"))})}else{if(!o)return;if(o=!1,a.opts.static_grid)return;e.each(a.grid.nodes,function(t){t.no_move||t.el.draggable("enable"),t.no_resize||t.el.resizable("enable")})}},t(window).resize(this.on_resize_handler),this.on_resize_handler()};return a.prototype._trigger_change_event=function(t){var e=this.grid.get_dirty_nodes(),i=!1,n=[];e&&e.length&&(n.push(e),i=!0),(i||t===!0)&&this.container.trigger("change",n)},a.prototype._init_styles=function(){this._styles_id&&t('[data-gs-id="'+this._styles_id+'"]').remove(),this._styles_id="gridstack-style-"+(1e5*Math.random()).toFixed(),this._styles=n.create_stylesheet(this._styles_id),null!=this._styles&&(this._styles._max=0)},a.prototype._update_styles=function(t){if(null!=this._styles){var e="."+this.opts._class+" ."+this.opts.item_class;if("undefined"==typeof t&&(t=this._styles._max,this._init_styles(),this._update_container_height()),0==this._styles._max&&n.insert_css_rule(this._styles,e,"min-height: "+this.opts.cell_height+"px;",0),t>this._styles._max){for(var i=this._styles._max;t>i;++i)n.insert_css_rule(this._styles,e+'[data-gs-height="'+(i+1)+'"]',"height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-min-height="'+(i+1)+'"]',"min-height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-max-height="'+(i+1)+'"]',"max-height: "+(this.opts.cell_height*(i+1)+this.opts.vertical_margin*i)+"px;",i),n.insert_css_rule(this._styles,e+'[data-gs-y="'+i+'"]',"top: "+(this.opts.cell_height*i+this.opts.vertical_margin*i)+"px;",i);this._styles._max=t}}},a.prototype._update_container_height=function(){this.grid._update_counter||this.container.height(this.grid.get_grid_height()*(this.opts.cell_height+this.opts.vertical_margin)-this.opts.vertical_margin)},a.prototype._is_one_column_mode=function(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<=this.opts.min_width},a.prototype._prepare_element=function(i){var o=this;i=t(i),i.addClass(this.opts.item_class);var s=o.grid.add_node({x:i.attr("data-gs-x"),y:i.attr("data-gs-y"),width:i.attr("data-gs-width"),height:i.attr("data-gs-height"),max_width:i.attr("data-gs-max-width"),min_width:i.attr("data-gs-min-width"),max_height:i.attr("data-gs-max-height"),min_height:i.attr("data-gs-min-height"),auto_position:n.toBool(i.attr("data-gs-auto-position")),no_resize:n.toBool(i.attr("data-gs-no-resize")),no_move:n.toBool(i.attr("data-gs-no-move")),locked:n.toBool(i.attr("data-gs-locked")),el:i});if(i.data("_gridstack_node",s),!o.opts.static_grid){var a,h,r=function(e,n){o.container.append(o.placeholder);var r=t(this);o.grid.clean_nodes(),o.grid.begin_update(s),a=Math.ceil(r.outerWidth()/r.attr("data-gs-width")),h=o.opts.cell_height+o.opts.vertical_margin,o.placeholder.attr("data-gs-x",r.attr("data-gs-x")).attr("data-gs-y",r.attr("data-gs-y")).attr("data-gs-width",r.attr("data-gs-width")).attr("data-gs-height",r.attr("data-gs-height")).show(),s.el=o.placeholder,i.resizable("option","minWidth",a*(s.min_width||1)),i.resizable("option","minHeight",o.opts.cell_height*(s.min_height||1))},d=function(e,i){o.placeholder.detach();var n=t(this);s.el=n,o.placeholder.hide(),n.attr("data-gs-x",s.x).attr("data-gs-y",s.y).attr("data-gs-width",s.width).attr("data-gs-height",s.height).removeAttr("style"),o._update_container_height(),o._trigger_change_event(),o.grid.end_update()};i.draggable(e.extend(this.opts.draggable,{start:r,stop:d,drag:function(t,e){var i=Math.round(e.position.left/a),n=Math.floor((e.position.top+h/2)/h);o.grid.can_move_node(s,i,n,s.width,s.height)&&(o.grid.move_node(s,i,n),o._update_container_height())},containment:this.opts.is_nested?this.container.parent():null})).resizable(e.extend(this.opts.resizable,{start:r,stop:d,resize:function(t,e){var i=Math.round(e.position.left/a),n=Math.floor((e.position.top+h/2)/h),r=Math.round(e.size.width/a),d=Math.round(e.size.height/h);o.grid.can_move_node(s,i,n,r,d)&&(o.grid.move_node(s,i,n,r,d),o._update_container_height())}})),(s.no_move||this._is_one_column_mode())&&i.draggable("disable"),(s.no_resize||this._is_one_column_mode())&&i.resizable("disable"),i.attr("data-gs-locked",s.locked?"yes":null)}},a.prototype.set_animation=function(t){t?this.container.addClass("grid-stack-animate"):this.container.removeClass("grid-stack-animate")},a.prototype.add_widget=function(e,i,n,o,s,a){return e=t(e),"undefined"!=typeof i&&e.attr("data-gs-x",i),"undefined"!=typeof n&&e.attr("data-gs-y",n),"undefined"!=typeof o&&e.attr("data-gs-width",o),"undefined"!=typeof s&&e.attr("data-gs-height",s),"undefined"!=typeof a&&e.attr("data-gs-auto-position",a?"yes":null),this.container.append(e),this._prepare_element(e),this._update_container_height(),this._trigger_change_event(!0),e},a.prototype.will_it_fit=function(t,e,i,n,o){var s={x:t,y:e,width:i,height:n,auto_position:o};return this.grid.can_be_placed_with_respect_to_height(s)},a.prototype.remove_widget=function(e,i){i="undefined"==typeof i?!0:i,e=t(e);var n=e.data("_gridstack_node");this.grid.remove_node(n),e.removeData("_gridstack_node"),this._update_container_height(),i&&e.remove(),this._trigger_change_event(!0)},a.prototype.remove_all=function(t){e.each(this.grid.nodes,function(e){this.remove_widget(e.el,t)},this),this.grid.nodes=[],this._update_container_height()},a.prototype.destroy=function(){t(window).off("resize",this.on_resize_handler),this.disable(),this.container.remove(),n.remove_stylesheet(this._styles_id),this.grid&&(this.grid=null)},a.prototype.resizable=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.no_resize=!i,o.no_resize?n.resizable("disable"):n.resizable("enable"))}),this},a.prototype.movable=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.no_move=!i,o.no_move?n.draggable("disable"):n.draggable("enable"))}),this},a.prototype.disable=function(){this.movable(this.container.children("."+this.opts.item_class),!1),this.resizable(this.container.children("."+this.opts.item_class),!1)},a.prototype.enable=function(){this.movable(this.container.children("."+this.opts.item_class),!0),this.resizable(this.container.children("."+this.opts.item_class),!0)},a.prototype.locked=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(o.locked=i||!1,n.attr("data-gs-locked",o.locked?"yes":null))}),this},a.prototype.min_height=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(isNaN(i)||(o.min_height=i||!1,n.attr("data-gs-min-height",i)))}),this},a.prototype.min_width=function(e,i){return e=t(e),e.each(function(e,n){n=t(n);var o=n.data("_gridstack_node");"undefined"!=typeof o&&null!=o&&(isNaN(i)||(o.min_width=i||!1,n.attr("data-gs-min-width",i)))}),this},a.prototype._update_element=function(e,i){e=t(e).first();var n=e.data("_gridstack_node");if("undefined"!=typeof n&&null!=n){var o=this;o.grid.clean_nodes(),o.grid.begin_update(n),i.call(this,e,n),o._update_container_height(),o._trigger_change_event(),o.grid.end_update()}},a.prototype.resize=function(t,e,i){this._update_element(t,function(t,n){e=null!=e&&"undefined"!=typeof e?e:n.width,i=null!=i&&"undefined"!=typeof i?i:n.height,this.grid.move_node(n,n.x,n.y,e,i)})},a.prototype.move=function(t,e,i){this._update_element(t,function(t,n){e=null!=e&&"undefined"!=typeof e?e:n.x,i=null!=i&&"undefined"!=typeof i?i:n.y,this.grid.move_node(n,e,i,n.width,n.height)})},a.prototype.update=function(t,e,i,n,o){this._update_element(t,function(t,s){e=null!=e&&"undefined"!=typeof e?e:s.x,i=null!=i&&"undefined"!=typeof i?i:s.y,n=null!=n&&"undefined"!=typeof n?n:s.width,o=null!=o&&"undefined"!=typeof o?o:s.height,this.grid.move_node(s,e,i,n,o)})},a.prototype.cell_height=function(t){return"undefined"==typeof t?this.opts.cell_height:(t=parseInt(t),void(t!=this.opts.cell_height&&(this.opts.cell_height=t||this.opts.cell_height,this._update_styles())))},a.prototype.cell_width=function(){var t=this.container.children("."+this.opts.item_class).first();return Math.ceil(t.outerWidth()/t.attr("data-gs-width"))},a.prototype.get_cell_from_pixel=function(t){var e=this.container.position(),i=t.left-e.left,n=t.top-e.top,o=Math.floor(this.container.width()/this.opts.width),s=this.opts.cell_height+this.opts.vertical_margin;return{x:Math.floor(i/o),y:Math.floor(n/s)}},a.prototype.batch_update=function(){this.grid.batch_update()},a.prototype.commit=function(){this.grid.commit(),this._update_container_height()},a.prototype.is_area_empty=function(t,e,i,n){return this.grid.is_area_empty(t,e,i,n)},i.GridStackUI=a,i.GridStackUI.Utils=n,t.fn.gridstack=function(e){return this.each(function(){t(this).data("gridstack")||t(this).data("gridstack",new a(this,e))})},i.GridStackUI});
//# sourceMappingURL=gridstack.min.map
\ No newline at end of file
diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map
index ca90f0a..9016de0 100644
--- a/dist/gridstack.min.map
+++ b/dist/gridstack.min.map
@@ -1 +1 @@
-{"version":3,"file":"dist/gridstack.min.js","sources":["src/gridstack.js"],"names":["factory","define","amd","jQuery","_","$","scope","window","Utils","is_intercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","create_stylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","insert_css_rule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","id_seq","GridStackEngine","onchange","float_mode","items","this","_update_counter","_float","prototype","batch_update","commit","_pack_nodes","_notify","_fix_collisions","_sort_nodes","nn","has_locked","find","locked","collision_node","move_node","is_area_empty","each","i","_updating","_orig_y","new_y","bn","_dirty","can_be_moved","take","_prepare_node","resizing","defaults","parseInt","auto_position","no_resize","no_move","deleted_nodes","Array","slice","call","arguments","concat","get_dirty_nodes","clean_nodes","filter","add_node","max_width","Math","min","max_height","min_width","min_height","_id","floor","push","remove_node","without","can_move_node","cloned_node","clone","extend","res","get_grid_height","can_be_placed_with_respect_to_height","no_pack","reduce","memo","begin_update","end_update","GridStack","el","opts","one_column_mode","self","container","item_class","is_nested","closest","size","attr","placeholder_class","handle","cell_height","vertical_margin","auto","float","static_grid","_class","random","toFixed","animate","always_show_resize_handle","resizable","autoHide","handles","draggable","scroll","appendTo","addClass","_init_styles","grid","remove","_update_styles","elements","_this","children","_prepare_element","set_animation","placeholder","hide","on_resize_handler","_is_one_column_mode","append","resize","_styles_id","_styles","_max","prefix","_update_container_height","innerWidth","documentElement","clientWidth","body","data","cell_width","on_start_moving","event","ui","o","ceil","outerWidth","show","on_end_moving","detach","removeAttr","length","trigger","start","stop","drag","round","position","left","top","containment","parent","enable","removeClass","add_widget","will_it_fit","remove_widget","detach_node","removeData","remove_all","val","movable","disable","_update_element","callback","first","move","update","get_cell_from_pixel","containerPos","relativeLeft","relativeTop","column_width","row_height","GridStackUI","fn","gridstack"],"mappings":"CAKA,SAAUA,GACgB,kBAAXC,SAAyBA,OAAOC,IACvCD,QAAQ,SAAU,SAAU,iBAAkB,mBAAoB,kBAAmB,sBACjF,uBAAwBD,GAG5BA,EAAQG,OAAQC,IAErB,SAASC,EAAGD,GAEX,GAAIE,GAAQC,OAERC,GACAC,eAAgB,SAASC,EAAGC,GACxB,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,GAAST,EAAEe,MAAMF,GAAOG,IAAI,SAASC,GAAQ,MAAOA,GAAKT,EAAIS,EAAKR,QAAUS,MAAMC,QAC1FL,EAAa,IAAPA,EAAY,EAAI,GACfd,EAAEoB,OAAOP,EAAO,SAASQ,GAAK,MAAOP,IAAOO,EAAEb,EAAIa,EAAEX,EAAID,MAGnEa,kBAAmB,SAASC,GACxB,GAAIC,GAAQC,SAASC,cAAc,QAUnC,OATAF,GAAMG,aAAa,OAAQ,YAC3BH,EAAMG,aAAa,aAAcJ,GAC7BC,EAAMI,WACNJ,EAAMI,WAAWC,QAAU,GAG3BL,EAAMM,YAAYL,SAASM,eAAe,KAE9CN,SAASO,qBAAqB,QAAQ,GAAGF,YAAYN,GAC9CA,EAAMS,OAGjBC,gBAAiB,SAASD,EAAOE,EAAUC,EAAOC,GACd,kBAArBJ,GAAMK,WACbL,EAAMK,WAAWH,EAAW,IAAMC,EAAQ,IAAKC,GAEjB,kBAAlBJ,GAAMM,SAClBN,EAAMM,QAAQJ,EAAUC,EAAOC,IAIvCG,OAAQ,SAASC,GACb,MAAgB,iBAALA,GACAA,EACK,gBAALA,IACPA,EAAIA,EAAEC,gBACQ,IAALD,GAAgB,MAALA,GAAkB,SAALA,GAAqB,KAALA,IAE9CE,QAAQF,KAInBG,EAAS,EAETC,EAAkB,SAASpC,EAAOqC,EAAUC,EAAYpC,EAAQqC,GAChEC,KAAKxC,MAAQA,EACbwC,KAAK,SAAWF,IAAc,EAC9BE,KAAKtC,OAASA,GAAU,EAExBsC,KAAKpC,MAAQmC,MACbC,KAAKH,SAAWA,GAAY,aAE5BG,KAAKC,gBAAkB,EACvBD,KAAKE,OAASF,KAAK,SAGvBJ,GAAgBO,UAAUC,aAAe,WACrCJ,KAAKC,gBAAkB,EACvBD,KAAAA,UAAa,GAGjBJ,EAAgBO,UAAUE,OAAS,WAC/BL,KAAKC,gBAAkB,EACK,GAAxBD,KAAKC,kBACLD,KAAAA,SAAaA,KAAKE,OAClBF,KAAKM,cACLN,KAAKO,YAIbX,EAAgBO,UAAUK,gBAAkB,SAASxC,GACjDgC,KAAKS,YAAY,GAEjB,IAAIC,GAAK1C,EAAM2C,EAAajB,QAAQ3C,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAAK,MAAOA,GAAEyC,SAK9E,KAJKb,KAAAA,UAAeW,IAChBD,GAAMnD,EAAG,EAAGE,EAAGO,EAAKP,EAAGD,MAAOwC,KAAKxC,MAAOE,OAAQM,EAAKN,WAG9C,CACT,GAAIoD,GAAiB/D,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAC7C,MAAOA,IAAKJ,GAAQb,EAAMC,eAAegB,EAAGsC,IAC7CV,KACH,IAA6B,mBAAlBc,GACP,MAEJd,MAAKe,UAAUD,EAAgBA,EAAevD,EAAGS,EAAKP,EAAIO,EAAKN,OAC3DoD,EAAetD,MAAOsD,EAAepD,QAAQ,KAIzDkC,EAAgBO,UAAUa,cAAgB,SAASzD,EAAGE,EAAGD,EAAOE,GAC5D,GAAIgD,IAAMnD,EAAGA,GAAK,EAAGE,EAAGA,GAAK,EAAGD,MAAOA,GAAS,EAAGE,OAAQA,GAAU,GACjEoD,EAAiB/D,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAC7C,MAAOjB,GAAMC,eAAegB,EAAGsC,IAChCV,KACH,OAAyB,OAAlBc,GAGXlB,EAAgBO,UAAUM,YAAc,SAAS5C,GAC7CmC,KAAKpC,MAAQT,EAAMQ,KAAKqC,KAAKpC,MAAOC,EAAKmC,KAAKxC,QAGlDoC,EAAgBO,UAAUG,YAAc,WACpCN,KAAKS,cAEDT,KAAAA,SACAjD,EAAEkE,KAAKjB,KAAKpC,MAAO,SAASQ,EAAG8C,GAC3B,IAAI9C,EAAE+C,WAAiC,mBAAb/C,GAAEgD,SAA0BhD,EAAEX,GAAKW,EAAEgD,QAI/D,IADA,GAAIC,GAAQjD,EAAEX,EACP4D,GAASjD,EAAEgD,SAAS,CACvB,GAAIN,GAAiB/D,EAAEe,MAAMkC,KAAKpC,OAC7BgD,KAAK,SAASU,GACX,MAAOlD,IAAKkD,GACRnE,EAAMC,gBAAgBG,EAAGa,EAAEb,EAAGE,EAAG4D,EAAO7D,MAAOY,EAAEZ,MAAOE,OAAQU,EAAEV,QAAS4D,KAElFpD,OAEA4C,KACD1C,EAAEmD,QAAS,EACXnD,EAAEX,EAAI4D,KAERA,IAEPrB,MAGHjD,EAAEkE,KAAKjB,KAAKpC,MAAO,SAASQ,EAAG8C,GAC3B,IAAI9C,EAAEyC,OAEN,KAAOzC,EAAEX,EAAI,GAAG,CACZ,GAAI4D,GAAQjD,EAAEX,EAAI,EACd+D,EAAoB,GAALN,CAEnB,IAAIA,EAAI,EAAG,CACP,GAAIJ,GAAiB/D,EAAEe,MAAMkC,KAAKpC,OAC7B6D,KAAKP,GACLN,KAAK,SAASU,GACX,MAAOnE,GAAMC,gBAAgBG,EAAGa,EAAEb,EAAGE,EAAG4D,EAAO7D,MAAOY,EAAEZ,MAAOE,OAAQU,EAAEV,QAAS4D,KAErFpD,OACLsD,GAAwC,mBAAlBV,GAG1B,IAAKU,EACD,KAEJpD,GAAEmD,OAASnD,EAAEX,GAAK4D,EAClBjD,EAAEX,EAAI4D,IAEXrB,OAIXJ,EAAgBO,UAAUuB,cAAgB,SAAS1D,EAAM2D,GAuCrD,MAtCA3D,GAAOjB,EAAE6E,SAAS5D,OAAaR,MAAO,EAAGE,OAAQ,EAAGH,EAAG,EAAGE,EAAG,IAE7DO,EAAKT,EAAIsE,SAAS,GAAK7D,EAAKT,GAC5BS,EAAKP,EAAIoE,SAAS,GAAK7D,EAAKP,GAC5BO,EAAKR,MAAQqE,SAAS,GAAK7D,EAAKR,OAChCQ,EAAKN,OAASmE,SAAS,GAAK7D,EAAKN,QACjCM,EAAK8D,cAAgB9D,EAAK8D,gBAAiB,EAC3C9D,EAAK+D,UAAY/D,EAAK+D,YAAa,EACnC/D,EAAKgE,QAAUhE,EAAKgE,UAAW,EAE3BhE,EAAKR,MAAQwC,KAAKxC,MAClBQ,EAAKR,MAAQwC,KAAKxC,MAEbQ,EAAKR,MAAQ,IAClBQ,EAAKR,MAAQ,GAGbQ,EAAKN,OAAS,IACdM,EAAKN,OAAS,GAGdM,EAAKT,EAAI,IACTS,EAAKT,EAAI,GAGTS,EAAKT,EAAIS,EAAKR,MAAQwC,KAAKxC,QACvBmE,EACA3D,EAAKR,MAAQwC,KAAKxC,MAAQQ,EAAKT,EAG/BS,EAAKT,EAAIyC,KAAKxC,MAAQQ,EAAKR,OAI/BQ,EAAKP,EAAI,IACTO,EAAKP,EAAI,GAGNO,GAGX4B,EAAgBO,UAAUI,QAAU,WAChC,IAAIP,KAAKC,gBAAT,CAGA,GAAIgC,GAAgBC,MAAM/B,UAAUgC,MAAMC,KAAKC,UAAW,GAAGC,OAAOtC,KAAKuC,kBACzEN,GAAgBA,EAAcK,OAAOtC,KAAKuC,mBAC1CvC,KAAKH,SAASoC,KAGlBrC,EAAgBO,UAAUqC,YAAc,WACpCzF,EAAEkE,KAAKjB,KAAKpC,MAAO,SAASQ,GAAIA,EAAEmD,QAAS,KAG/C3B,EAAgBO,UAAUoC,gBAAkB,WACxC,MAAOxF,GAAE0F,OAAOzC,KAAKpC,MAAO,SAASQ,GAAK,MAAOA,GAAEmD,UAGvD3B,EAAgBO,UAAUuC,SAAW,SAAS1E,GAW1C,GAVAA,EAAOgC,KAAK0B,cAAc1D,GAEG,mBAAlBA,GAAK2E,YAA0B3E,EAAKR,MAAQoF,KAAKC,IAAI7E,EAAKR,MAAOQ,EAAK2E,YACnD,mBAAnB3E,GAAK8E,aAA2B9E,EAAKN,OAASkF,KAAKC,IAAI7E,EAAKN,OAAQM,EAAK8E,aACvD,mBAAlB9E,GAAK+E,YAA0B/E,EAAKR,MAAQoF,KAAK3E,IAAID,EAAKR,MAAOQ,EAAK+E,YACnD,mBAAnB/E,GAAKgF,aAA2BhF,EAAKN,OAASkF,KAAK3E,IAAID,EAAKN,OAAQM,EAAKgF,aAEpFhF,EAAKiF,MAAQtD,EACb3B,EAAKuD,QAAS,EAEVvD,EAAK8D,cAAe,CACpB9B,KAAKS,aAEL,KAAK,GAAIS,GAAI,KAAMA,EAAG,CAClB,GAAI3D,GAAI2D,EAAIlB,KAAKxC,MAAOC,EAAImF,KAAKM,MAAMhC,EAAIlB,KAAKxC,MAChD,MAAID,EAAIS,EAAKR,MAAQwC,KAAKxC,OAGrBT,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAC7B,MAAOjB,GAAMC,gBAAgBG,EAAGA,EAAGE,EAAGA,EAAGD,MAAOQ,EAAKR,MAAOE,OAAQM,EAAKN,QAASU,MAClF,CACAJ,EAAKT,EAAIA,EACTS,EAAKP,EAAIA,CACT,SAUZ,MALAuC,MAAKpC,MAAMuF,KAAKnF,GAEhBgC,KAAKQ,gBAAgBxC,GACrBgC,KAAKM,cACLN,KAAKO,UACEvC,GAGX4B,EAAgBO,UAAUiD,YAAc,SAASpF,GAC7CA,EAAKiF,IAAM,KACXjD,KAAKpC,MAAQb,EAAEsG,QAAQrD,KAAKpC,MAAOI,GACnCgC,KAAKM,cACLN,KAAKO,QAAQvC,IAGjB4B,EAAgBO,UAAUmD,cAAgB,SAAStF,EAAMT,EAAGE,EAAGD,EAAOE,GAClE,GAAIiD,GAAajB,QAAQ3C,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAAK,MAAOA,GAAEyC,SAEnE,KAAKb,KAAKtC,SAAWiD,EACjB,OAAO,CAEX,IAAI4C,GACAC,EAAQ,GAAI5D,GACZI,KAAKxC,MACL,KACAwC,KAAAA,SACA,EACAjD,EAAEgB,IAAIiC,KAAKpC,MAAO,SAASQ,GACvB,MAAIA,IAAKJ,EACLuF,EAAcvG,EAAEyG,UAAWrF,GAGxBpB,EAAEyG,UAAWrF,KAG5BoF,GAAMzC,UAAUwC,EAAahG,EAAGE,EAAGD,EAAOE,EAE1C,IAAIgG,IAAM,CASV,OAPI/C,KACA+C,IAAQhE,QAAQ3C,EAAE6D,KAAK4C,EAAM5F,MAAO,SAASQ,GACzC,MAAOA,IAAKmF,GAAe7D,QAAQtB,EAAEyC,SAAWnB,QAAQtB,EAAEmD,YAE9DvB,KAAKtC,SACLgG,GAAOF,EAAMG,mBAAqB3D,KAAKtC,QAEpCgG,GAGX9D,EAAgBO,UAAUyD,qCAAuC,SAAS5F,GACtE,IAAKgC,KAAKtC,OACN,OAAO,CAEX,IAAI8F,GAAQ,GAAI5D,GACZI,KAAKxC,MACL,KACAwC,KAAAA,SACA,EACAjD,EAAEgB,IAAIiC,KAAKpC,MAAO,SAASQ,GAAK,MAAOpB,GAAEyG,UAAWrF,KAExD,OADAoF,GAAMd,SAAS1E,GACRwF,EAAMG,mBAAqB3D,KAAKtC,QAG3CkC,EAAgBO,UAAUY,UAAY,SAAS/C,EAAMT,EAAGE,EAAGD,EAAOE,EAAQmG,GAWtE,GAVgB,gBAALtG,KAAeA,EAAIS,EAAKT,GACnB,gBAALE,KAAeA,EAAIO,EAAKP,GACf,gBAATD,KAAmBA,EAAQQ,EAAKR,OACtB,gBAAVE,KAAoBA,EAASM,EAAKN,QAEhB,mBAAlBM,GAAK2E,YAA0BnF,EAAQoF,KAAKC,IAAIrF,EAAOQ,EAAK2E,YACzC,mBAAnB3E,GAAK8E,aAA2BpF,EAASkF,KAAKC,IAAInF,EAAQM,EAAK8E,aAC7C,mBAAlB9E,GAAK+E,YAA0BvF,EAAQoF,KAAK3E,IAAIT,EAAOQ,EAAK+E,YACzC,mBAAnB/E,GAAKgF,aAA2BtF,EAASkF,KAAK3E,IAAIP,EAAQM,EAAKgF,aAEtEhF,EAAKT,GAAKA,GAAKS,EAAKP,GAAKA,GAAKO,EAAKR,OAASA,GAASQ,EAAKN,QAAUA,EACpE,MAAOM,EAGX,IAAI2D,GAAW3D,EAAKR,OAASA,CAe7B,OAdAQ,GAAKuD,QAAS,EAEdvD,EAAKT,EAAIA,EACTS,EAAKP,EAAIA,EACTO,EAAKR,MAAQA,EACbQ,EAAKN,OAASA,EAEdM,EAAOgC,KAAK0B,cAAc1D,EAAM2D,GAEhC3B,KAAKQ,gBAAgBxC,GAChB6F,IACD7D,KAAKM,cACLN,KAAKO,WAEFvC,GAGX4B,EAAgBO,UAAUwD,gBAAkB,WACxC,MAAO5G,GAAE+G,OAAO9D,KAAKpC,MAAO,SAASmG,EAAM3F,GAAK,MAAOwE,MAAK3E,IAAI8F,EAAM3F,EAAEX,EAAIW,EAAEV,SAAY,IAG9FkC,EAAgBO,UAAU6D,aAAe,SAAShG,GAC9CjB,EAAEkE,KAAKjB,KAAKpC,MAAO,SAASQ,GACxBA,EAAEgD,QAAUhD,EAAEX,IAElBO,EAAKmD,WAAY,GAGrBvB,EAAgBO,UAAU8D,WAAa,WACnClH,EAAEkE,KAAKjB,KAAKpC,MAAO,SAASQ,GACxBA,EAAEgD,QAAUhD,EAAEX,GAElB,IAAIW,GAAIrB,EAAE6D,KAAKZ,KAAKpC,MAAO,SAASQ,GAAK,MAAOA,GAAE+C,WAC9C/C,KACAA,EAAE+C,WAAY,GAItB,IAAI+C,GAAY,SAASC,EAAIC,GACzB,GAAiBC,GAAbC,EAAOtE,IAEXA,MAAKuE,UAAYvH,EAAEmH,GAEnBC,EAAKI,WAAaJ,EAAKI,YAAc,iBACrC,IAAIC,GAAYzE,KAAKuE,UAAUG,QAAQ,IAAMN,EAAKI,YAAYG,OAAS,CAsDvE,IApDA3E,KAAKoE,KAAOrH,EAAE6E,SAASwC,OACnB5G,MAAOqE,SAAS7B,KAAKuE,UAAUK,KAAK,mBAAqB,GACzDlH,OAAQmE,SAAS7B,KAAKuE,UAAUK,KAAK,oBAAsB,EAC3DJ,WAAY,kBACZK,kBAAmB,yBACnBC,OAAQ,2BACRC,YAAa,GACbC,gBAAiB,GACjBC,MAAM,EACNlC,UAAW,IACXmC,SAAO,EACPC,aAAa,EACbC,OAAQ,eAAiC,IAAhBxC,KAAKyC,UAAkBC,QAAQ,GACxDC,QAAS7F,QAAQM,KAAKuE,UAAUK,KAAK,sBAAuB,EAC5DY,0BAA2BpB,EAAKoB,4BAA6B,EAC7DC,UAAW1I,EAAE6E,SAASwC,EAAKqB,eACvBC,UAAYtB,EAAKoB,0BACjBG,QAAS,OAEbC,UAAW7I,EAAE6E,SAASwC,EAAKwB,eACvBd,OAAQ,2BACRe,QAAQ,EACRC,SAAU,WAGlB9F,KAAKoE,KAAKK,UAAYA,EAEtBzE,KAAKuE,UAAUwB,SAAS/F,KAAKoE,KAAKgB,QAC9BX,GACAzE,KAAKuE,UAAUwB,SAAS,qBAG5B/F,KAAKgG,eAELhG,KAAKiG,KAAO,GAAIrG,GAAgBI,KAAKoE,KAAK5G,MAAO,SAASI,GACtD,GAAIkF,GAAa,CACjB/F,GAAEkE,KAAKrD,EAAO,SAASQ,GACN,MAATA,EAAE6E,IACF7E,EAAE+F,GAAG+B,UAGL9H,EAAE+F,GACGS,KAAK,YAAaxG,EAAEb,GACpBqH,KAAK,YAAaxG,EAAEX,GACpBmH,KAAK,gBAAiBxG,EAAEZ,OACxBoH,KAAK,iBAAkBxG,EAAEV,QAC9BoF,EAAaF,KAAK3E,IAAI6E,EAAY1E,EAAEX,EAAIW,EAAEV,WAGlD4G,EAAK6B,eAAerD,EAAa,KAClC9C,KAAKoE,KAALpE,SAAiBA,KAAKoE,KAAK1G,QAE1BsC,KAAKoE,KAAKa,KAAM,CAChB,GAAImB,MACAC,EAAQrG,IACZA,MAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,YAAYvD,KAAK,SAAS7B,EAAO+E,GACrEA,EAAKnH,EAAEmH,GACPiC,EAASjD,MACLgB,GAAIA,EACJjD,EAAGW,SAASsC,EAAGS,KAAK,cAAgB/C,SAASsC,EAAGS,KAAK,cAAgByB,EAAMjC,KAAK5G,UAGxFT,EAAEe,MAAMsI,GAAUjI,OAAO,SAASZ,GAAK,MAAOA,GAAE2D,IAAMD,KAAK,SAASC,GAChEoD,EAAKiC,iBAAiBrF,EAAEiD,MACzBjG,QAGP8B,KAAKwG,cAAcxG,KAAKoE,KAAKmB,SAE7BvF,KAAKyG,YAAczJ,EACf,eAAiBgD,KAAKoE,KAAKS,kBAAoB,IAAM7E,KAAKoE,KAAKI,WAAa,+CAC/BkC,OAEjD1G,KAAKuE,UAAU7G,OACXsC,KAAKiG,KAAKtC,mBAAqB3D,KAAKoE,KAAKW,YAAc/E,KAAKoE,KAAKY,iBACjEhF,KAAKoE,KAAKY,gBAEd,IAAI2B,GAAoB,WACpB,GAAIrC,EAAKsC,sBAAuB,CAC5B,GAAIvC,EACA,MAEJA,IAAkB,EAElBC,EAAK2B,KAAKxF,cACV1D,EAAEkE,KAAKqD,EAAK2B,KAAKrI,MAAO,SAASI,GAC7BsG,EAAKC,UAAUsC,OAAO7I,EAAKmG,IAEvBG,EAAKF,KAAKe,cAGTnH,EAAKgE,SACNhE,EAAKmG,GAAGyB,UAAU,WAEjB5H,EAAK+D,WACN/D,EAAKmG,GAAGsB,UAAU,kBAIzB,CACD,IAAKpB,EACD,MAIJ,IAFAA,GAAkB,EAEdC,EAAKF,KAAKe,YACV,MAGJpI,GAAEkE,KAAKqD,EAAK2B,KAAKrI,MAAO,SAASI,GACxBA,EAAKgE,SACNhE,EAAKmG,GAAGyB,UAAU,UAEjB5H,EAAK+D,WACN/D,EAAKmG,GAAGsB,UAAU,aAMlCzI,GAAEE,QAAQ4J,OAAOH,GACjBA,IAyYJ,OAtYAzC,GAAU/D,UAAU6F,aAAe,WAC3BhG,KAAK+G,YACL/J,EAAE,gBAAkBgD,KAAK+G,WAAa,MAAMb,SAEhDlG,KAAK+G,WAAa,oBAAsC,IAAhBnE,KAAKyC,UAAmBC,UAChEtF,KAAKgH,QAAU7J,EAAMkB,kBAAkB2B,KAAK+G,YACxB,MAAhB/G,KAAKgH,UACLhH,KAAKgH,QAAQC,KAAO,IAG5B/C,EAAU/D,UAAUgG,eAAiB,SAASrD,GAC1C,GAAoB,MAAhB9C,KAAKgH,QAAT,CAIA,GAAIE,GAAS,IAAMlH,KAAKoE,KAAKgB,OAAS,KAAOpF,KAAKoE,KAAKI,UAYvD,IAVyB,mBAAd1B,KACPA,EAAa9C,KAAKgH,QAAQC,KAC1BjH,KAAKgG,eACLhG,KAAKmH,4BAGgB,GAArBnH,KAAKgH,QAAQC,MACb9J,EAAM8B,gBAAgBe,KAAKgH,QAASE,EAAQ,eAAkBlH,KAAKoE,KAAgB,YAAI,MAAO,GAG9FtB,EAAa9C,KAAKgH,QAAQC,KAAM,CAChC,IAAK,GAAI/F,GAAIlB,KAAKgH,QAAQC,KAAUnE,EAAJ5B,IAAkBA,EAC9C/D,EAAM8B,gBAAgBe,KAAKgH,QACvBE,EAAS,qBAAuBhG,EAAI,GAAK,KACzC,YAAclB,KAAKoE,KAAKW,aAAe7D,EAAI,GAAKlB,KAAKoE,KAAKY,gBAAkB9D,GAAK,MACjFA,GAEJ/D,EAAM8B,gBAAgBe,KAAKgH,QACvBE,EAAS,yBAA2BhG,EAAI,GAAK,KAC7C,gBAAkBlB,KAAKoE,KAAKW,aAAe7D,EAAI,GAAKlB,KAAKoE,KAAKY,gBAAkB9D,GAAK,MACrFA,GAEJ/D,EAAM8B,gBAAgBe,KAAKgH,QACvBE,EAAS,yBAA2BhG,EAAI,GAAK,KAC7C,gBAAkBlB,KAAKoE,KAAKW,aAAe7D,EAAI,GAAKlB,KAAKoE,KAAKY,gBAAkB9D,GAAK,MACrFA,GAEJ/D,EAAM8B,gBAAgBe,KAAKgH,QACvBE,EAAS,eAAiBhG,EAAI,KAC9B,SAAWlB,KAAKoE,KAAKW,YAAc7D,EAAIlB,KAAKoE,KAAKY,gBAAkB9D,GAAK,MACxEA,EAGRlB,MAAKgH,QAAQC,KAAOnE,KAI5BoB,EAAU/D,UAAUgH,yBAA2B,WACvCnH,KAAKiG,KAAKhG,iBAGdD,KAAKuE,UAAU7G,OACXsC,KAAKiG,KAAKtC,mBAAqB3D,KAAKoE,KAAKW,YAAc/E,KAAKoE,KAAKY,iBACjEhF,KAAKoE,KAAKY,kBAGlBd,EAAU/D,UAAUyG,oBAAsB,WACtC,OAAQ1J,OAAOkK,YAAc5I,SAAS6I,gBAAgBC,aAAe9I,SAAS+I,KAAKD,cAC/EtH,KAAKoE,KAAKrB,WAGlBmB,EAAU/D,UAAUoG,iBAAmB,SAASpC,GAC5C,GAAIG,GAAOtE,IACXmE,GAAKnH,EAAEmH,GAEPA,EAAG4B,SAAS/F,KAAKoE,KAAKI,WAEtB,IAAIxG,GAAOsG,EAAK2B,KAAKvD,UACjBnF,EAAG4G,EAAGS,KAAK,aACXnH,EAAG0G,EAAGS,KAAK,aACXpH,MAAO2G,EAAGS,KAAK,iBACflH,OAAQyG,EAAGS,KAAK,kBAChBjC,UAAWwB,EAAGS,KAAK,qBACnB7B,UAAWoB,EAAGS,KAAK,qBACnB9B,WAAYqB,EAAGS,KAAK,sBACpB5B,WAAYmB,EAAGS,KAAK,sBACpB9C,cAAe3E,EAAMoC,OAAO4E,EAAGS,KAAK,0BACpC7C,UAAW5E,EAAMoC,OAAO4E,EAAGS,KAAK,sBAChC5C,QAAS7E,EAAMoC,OAAO4E,EAAGS,KAAK,oBAC9B/D,OAAQ1D,EAAMoC,OAAO4E,EAAGS,KAAK,mBAC7BT,GAAIA,GAIR,IAFAA,EAAGqD,KAAK,kBAAmBxJ,IAEvBsG,EAAKF,KAAKe,YAAd,CAIA,GAAIsC,GAAY1C,EAEZ2C,EAAkB,SAASC,EAAOC,GAClCtD,EAAKC,UAAUsC,OAAOvC,EAAKmC,YAC3B,IAAIoB,GAAI7K,EAAEgD,KACVsE,GAAK2B,KAAKzD,cACV8B,EAAK2B,KAAKjC,aAAahG,GACvByJ,EAAa7E,KAAKkF,KAAKD,EAAEE,aAAeF,EAAEjD,KAAK,kBAC/CG,EAAcT,EAAKF,KAAKW,YAAcT,EAAKF,KAAKY,gBAChDV,EAAKmC,YACA7B,KAAK,YAAaiD,EAAEjD,KAAK,cACzBA,KAAK,YAAaiD,EAAEjD,KAAK,cACzBA,KAAK,gBAAiBiD,EAAEjD,KAAK,kBAC7BA,KAAK,iBAAkBiD,EAAEjD,KAAK,mBAC9BoD,OACLhK,EAAKmG,GAAKG,EAAKmC,YAEftC,EAAGsB,UAAU,SAAU,WAAYgC,GAAczJ,EAAK+E,WAAa,IACnEoB,EAAGsB,UAAU,SAAU,YAAanB,EAAKF,KAAKW,aAAe/G,EAAKgF,YAAc,KAGhFiF,EAAgB,SAASN,EAAOC,GAChCtD,EAAKmC,YAAYyB,QACjB,IAAIL,GAAI7K,EAAEgD,KACVhC,GAAKmG,GAAK0D,EACVvD,EAAKmC,YAAYC,OACjBmB,EACKjD,KAAK,YAAa5G,EAAKT,GACvBqH,KAAK,YAAa5G,EAAKP,GACvBmH,KAAK,gBAAiB5G,EAAKR,OAC3BoH,KAAK,iBAAkB5G,EAAKN,QAC5ByK,WAAW,SAChB7D,EAAK6C,0BACL,IAAIf,GAAW9B,EAAK2B,KAAK1D,iBACrB6D,IAAYA,EAASgC,QACrB9D,EAAKC,UAAU8D,QAAQ,UAAWjC,IAEtC9B,EAAK2B,KAAKhC,aAGdE,GAAGyB,UAAU7I,EAAE0G,OAAOzD,KAAKoE,KAAKwB,WAC5B0C,MAAOZ,EACPa,KAAMN,EACNO,KAAM,SAASb,EAAOC,GAClB,GAAIrK,GAAIqF,KAAK6F,MAAMb,EAAGc,SAASC,KAAOlB,GAClChK,EAAImF,KAAKM,OAAO0E,EAAGc,SAASE,IAAM7D,EAAc,GAAKA,EACpDT,GAAK2B,KAAK3C,cAActF,EAAMT,EAAGE,EAAGO,EAAKR,MAAOQ,EAAKN,UAG1D4G,EAAK2B,KAAKlF,UAAU/C,EAAMT,EAAGE,GAC7B6G,EAAK6C,6BAET0B,YAAa7I,KAAKoE,KAAKK,UAAYzE,KAAKuE,UAAUuE,SAAW,QAC7DrD,UAAU1I,EAAE0G,OAAOzD,KAAKoE,KAAKqB,WAC7B6C,MAAOZ,EACPa,KAAMN,EACNnB,OAAQ,SAASa,EAAOC,GACpB,GAAIrK,GAAIqF,KAAK6F,MAAMb,EAAGc,SAASC,KAAOlB,GAClChK,EAAImF,KAAKM,OAAO0E,EAAGc,SAASE,IAAM7D,EAAc,GAAKA,GACrDvH,EAAQoF,KAAK6F,MAAMb,EAAGjD,KAAKnH,MAAQiK,GACnC/J,EAASkF,KAAK6F,MAAMb,EAAGjD,KAAKjH,OAASqH,EACpCT,GAAK2B,KAAK3C,cAActF,EAAMT,EAAGE,EAAGD,EAAOE,KAGhD4G,EAAK2B,KAAKlF,UAAU/C,EAAMT,EAAGE,EAAGD,EAAOE,GACvC4G,EAAK6C,iCAITnJ,EAAKgE,SAAWhC,KAAK4G,wBACrBzC,EAAGyB,UAAU,YAGb5H,EAAK+D,WAAa/B,KAAK4G,wBACvBzC,EAAGsB,UAAU,WAGjBtB,EAAGS,KAAK,iBAAkB5G,EAAK6C,OAAS,MAAQ,QAGpDqD,EAAU/D,UAAUqG,cAAgB,SAASuC,GACrCA,EACA/I,KAAKuE,UAAUwB,SAAS,sBAGxB/F,KAAKuE,UAAUyE,YAAY,uBAInC9E,EAAU/D,UAAU8I,WAAa,SAAS9E,EAAI5G,EAAGE,EAAGD,EAAOE,EAAQoE,GAW/D,MAVAqC,GAAKnH,EAAEmH,GACS,mBAAL5G,IAAkB4G,EAAGS,KAAK,YAAarH,GAClC,mBAALE,IAAkB0G,EAAGS,KAAK,YAAanH,GAC9B,mBAATD,IAAsB2G,EAAGS,KAAK,gBAAiBpH,GACrC,mBAAVE,IAAuByG,EAAGS,KAAK,iBAAkBlH,GAChC,mBAAjBoE,IAA8BqC,EAAGS,KAAK,wBAAyB9C,EAAgB,MAAQ,MAClG9B,KAAKuE,UAAUsC,OAAO1C,GACtBnE,KAAKuG,iBAAiBpC,GACtBnE,KAAKmH,2BAEEhD,GAGXD,EAAU/D,UAAU+I,YAAc,SAAS3L,EAAGE,EAAGD,EAAOE,EAAQoE,GAC5D,GAAI9D,IAAQT,EAAGA,EAAGE,EAAGA,EAAGD,MAAOA,EAAOE,OAAQA,EAAQoE,cAAeA,EACrE,OAAO9B,MAAKiG,KAAKrC,qCAAqC5F,IAG1DkG,EAAU/D,UAAUgJ,cAAgB,SAAShF,EAAIiF,GAC7CA,EAAqC,mBAAhBA,IAA8B,EAAOA,EAC1DjF,EAAKnH,EAAEmH,EACP,IAAInG,GAAOmG,EAAGqD,KAAK,kBACnBxH,MAAKiG,KAAK7C,YAAYpF,GACtBmG,EAAGkF,WAAW,mBACdrJ,KAAKmH,2BACDiC,GACAjF,EAAG+B,UAGXhC,EAAU/D,UAAUmJ,WAAa,SAASF,GACtCrM,EAAEkE,KAAKjB,KAAKiG,KAAKrI,MAAO,SAASI,GAC7BgC,KAAKmJ,cAAcnL,EAAKmG,GAAIiF,IAC7BpJ,MACHA,KAAKiG,KAAKrI,SACVoC,KAAKmH,4BAGTjD,EAAU/D,UAAUsF,UAAY,SAAStB,EAAIoF,GAiBzC,MAhBApF,GAAKnH,EAAEmH,GACPA,EAAGlD,KAAK,SAAS7B,EAAO+E,GACpBA,EAAKnH,EAAEmH,EACP,IAAInG,GAAOmG,EAAGqD,KAAK,kBACA,oBAARxJ,IAA+B,MAARA,IAIlCA,EAAK+D,WAAcwH,EACfvL,EAAK+D,UACLoC,EAAGsB,UAAU,WAGbtB,EAAGsB,UAAU,aAGdzF,MAGXkE,EAAU/D,UAAUqJ,QAAU,SAASrF,EAAIoF,GAiBvC,MAhBApF,GAAKnH,EAAEmH,GACPA,EAAGlD,KAAK,SAAS7B,EAAO+E,GACpBA,EAAKnH,EAAEmH,EACP,IAAInG,GAAOmG,EAAGqD,KAAK,kBACA,oBAARxJ,IAA+B,MAARA,IAIlCA,EAAKgE,SAAYuH,EACbvL,EAAKgE,QACLmC,EAAGyB,UAAU,WAGbzB,EAAGyB,UAAU,aAGd5F,MAGXkE,EAAU/D,UAAUsJ,QAAU,WAC1BzJ,KAAKwJ,QAAQxJ,KAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,aAAa,GAClExE,KAAKyF,UAAUzF,KAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,aAAa,IAGxEN,EAAU/D,UAAU4I,OAAS,WACzB/I,KAAKwJ,QAAQxJ,KAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,aAAa,GAClExE,KAAKyF,UAAUzF,KAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,aAAa,IAGxEN,EAAU/D,UAAUU,OAAS,SAASsD,EAAIoF,GAYtC,MAXApF,GAAKnH,EAAEmH,GACPA,EAAGlD,KAAK,SAAS7B,EAAO+E,GACpBA,EAAKnH,EAAEmH,EACP,IAAInG,GAAOmG,EAAGqD,KAAK,kBACA,oBAARxJ,IAA+B,MAARA,IAIlCA,EAAK6C,OAAU0I,IAAO,EACtBpF,EAAGS,KAAK,iBAAkB5G,EAAK6C,OAAS,MAAQ,SAE7Cb,MAGXkE,EAAU/D,UAAUuJ,gBAAkB,SAASvF,EAAIwF,GAC/CxF,EAAKnH,EAAEmH,GAAIyF,OACX,IAAI5L,GAAOmG,EAAGqD,KAAK,kBACnB,IAAmB,mBAARxJ,IAA+B,MAARA,EAAlC,CAIA,GAAIsG,GAAOtE,IAEXsE,GAAK2B,KAAKzD,cACV8B,EAAK2B,KAAKjC,aAAahG,GAEvB2L,EAASvH,KAAKpC,KAAMmE,EAAInG,GAExBsG,EAAK6C,0BACL,IAAIf,GAAW9B,EAAK2B,KAAK1D,iBACrB6D,IAAYA,EAASgC,QACrB9D,EAAKC,UAAU8D,QAAQ,UAAWjC,IAEtC9B,EAAK2B,KAAKhC,eAGdC,EAAU/D,UAAU2G,OAAS,SAAS3C,EAAI3G,EAAOE,GAC7CsC,KAAK0J,gBAAgBvF,EAAI,SAASA,EAAInG,GAClCR,EAAkB,MAATA,GAAiC,mBAATA,GAAwBA,EAAQQ,EAAKR,MACtEE,EAAoB,MAAVA,GAAmC,mBAAVA,GAAyBA,EAASM,EAAKN,OAE1EsC,KAAKiG,KAAKlF,UAAU/C,EAAMA,EAAKT,EAAGS,EAAKP,EAAGD,EAAOE,MAIzDwG,EAAU/D,UAAU0J,KAAO,SAAS1F,EAAI5G,EAAGE,GACvCuC,KAAK0J,gBAAgBvF,EAAI,SAASA,EAAInG,GAClCT,EAAU,MAALA,GAAyB,mBAALA,GAAoBA,EAAIS,EAAKT,EACtDE,EAAU,MAALA,GAAyB,mBAALA,GAAoBA,EAAIO,EAAKP,EAEtDuC,KAAKiG,KAAKlF,UAAU/C,EAAMT,EAAGE,EAAGO,EAAKR,MAAOQ,EAAKN,WAIzDwG,EAAU/D,UAAU2J,OAAS,SAAS3F,EAAI5G,EAAGE,EAAGD,EAAOE,GACnDsC,KAAK0J,gBAAgBvF,EAAI,SAASA,EAAInG,GAClCT,EAAU,MAALA,GAAyB,mBAALA,GAAoBA,EAAIS,EAAKT,EACtDE,EAAU,MAALA,GAAyB,mBAALA,GAAoBA,EAAIO,EAAKP,EACtDD,EAAkB,MAATA,GAAiC,mBAATA,GAAwBA,EAAQQ,EAAKR,MACtEE,EAAoB,MAAVA,GAAmC,mBAAVA,GAAyBA,EAASM,EAAKN,OAE1EsC,KAAKiG,KAAKlF,UAAU/C,EAAMT,EAAGE,EAAGD,EAAOE,MAI/CwG,EAAU/D,UAAU4E,YAAc,SAASwE,GACvC,MAAkB,mBAAPA,GACAvJ,KAAKoE,KAAKW,aAErBwE,EAAM1H,SAAS0H,QACXA,GAAOvJ,KAAKoE,KAAKW,cAErB/E,KAAKoE,KAAKW,YAAcwE,GAAOvJ,KAAKoE,KAAKW,YACzC/E,KAAKmG,qBAGTjC,EAAU/D,UAAUsH,WAAa,WAC7B,GAAII,GAAI7H,KAAKuE,UAAU+B,SAAS,IAAMtG,KAAKoE,KAAKI,YAAYoF,OAC5D,OAAOhH,MAAKkF,KAAKD,EAAEE,aAAeF,EAAEjD,KAAK,mBAG7CV,EAAU/D,UAAU4J,oBAAsB,SAASrB,GAC/C,GAAIsB,GAAehK,KAAKuE,UAAUmE,WAC9BuB,EAAevB,EAASC,KAAOqB,EAAarB,KAC5CuB,EAAcxB,EAASE,IAAMoB,EAAapB,IAE1CuB,EAAevH,KAAKM,MAAMlD,KAAKuE,UAAU/G,QAAUwC,KAAKoE,KAAK5G,OAC7D4M,EAAapK,KAAKoE,KAAKW,YAAc/E,KAAKoE,KAAKY,eAEnD,QAAQzH,EAAGqF,KAAKM,MAAM+G,EAAeE,GAAe1M,EAAGmF,KAAKM,MAAMgH,EAAcE,KAGpFlG,EAAU/D,UAAUC,aAAe,WAC/BJ,KAAKiG,KAAK7F,gBAGd8D,EAAU/D,UAAUE,OAAS,WACzBL,KAAKiG,KAAK5F,SACVL,KAAKmH,4BAGTjD,EAAU/D,UAAUa,cAAgB,SAASzD,EAAGE,EAAGD,EAAOE,GACtD,MAAOsC,MAAKiG,KAAKjF,cAAczD,EAAGE,EAAGD,EAAOE,IAGhDT,EAAMoN,YAAcnG,EAEpBjH,EAAMoN,YAAYlN,MAAQA,EAE1BH,EAAEsN,GAAGC,UAAY,SAASnG,GACtB,MAAOpE,MAAKiB,KAAK,WACRjE,EAAEgD,MAAMwH,KAAK,cACdxK,EAAEgD,MAAMwH,KAAK,YAAa,GAAItD,GAAUlE,KAAMoE,OAKnDnH,EAAMoN"}
\ No newline at end of file
+{"version":3,"file":"dist/gridstack.min.js","sources":["src/gridstack.js"],"names":["factory","define","amd","jQuery","_","$","scope","window","Utils","is_intercepted","a","b","x","width","y","height","sort","nodes","dir","chain","map","node","max","value","sortBy","n","create_stylesheet","id","style","document","createElement","setAttribute","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","sheet","remove_stylesheet","remove","insert_css_rule","selector","rules","index","insertRule","addRule","toBool","v","toLowerCase","Boolean","id_seq","GridStackEngine","onchange","float_mode","items","this","_update_counter","_float","prototype","batch_update","commit","_pack_nodes","_notify","_fix_collisions","_sort_nodes","nn","has_locked","find","locked","collision_node","move_node","is_area_empty","each","i","_updating","_orig_y","new_y","bn","_dirty","can_be_moved","take","_prepare_node","resizing","defaults","parseInt","auto_position","no_resize","no_move","deleted_nodes","Array","slice","call","arguments","concat","get_dirty_nodes","clean_nodes","filter","add_node","max_width","Math","min","max_height","min_width","min_height","_id","floor","push","remove_node","without","can_move_node","cloned_node","clone","extend","res","get_grid_height","can_be_placed_with_respect_to_height","no_pack","reduce","memo","begin_update","end_update","GridStack","el","opts","one_column_mode","self","container","item_class","is_nested","closest","size","attr","placeholder_class","handle","cell_height","vertical_margin","auto","float","static_grid","_class","random","toFixed","animate","always_show_resize_handle","resizable","autoHide","handles","draggable","scroll","appendTo","addClass","_init_styles","grid","_update_styles","elements","_this","children","_prepare_element","set_animation","placeholder","hide","on_resize_handler","_is_one_column_mode","append","resize","_trigger_change_event","forceTrigger","hasChanges","eventParams","length","trigger","_styles_id","_styles","_max","prefix","_update_container_height","innerWidth","documentElement","clientWidth","body","data","cell_width","on_start_moving","event","ui","o","ceil","outerWidth","show","on_end_moving","detach","removeAttr","start","stop","drag","round","position","left","top","containment","parent","enable","removeClass","add_widget","will_it_fit","remove_widget","detach_node","removeData","remove_all","destroy","off","disable","val","movable","isNaN","_update_element","callback","first","move","update","get_cell_from_pixel","containerPos","relativeLeft","relativeTop","column_width","row_height","GridStackUI","fn","gridstack"],"mappings":"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"}
\ No newline at end of file
diff --git a/src/gridstack.js b/src/gridstack.js
index 6cce895..797cd08 100644
--- a/src/gridstack.js
+++ b/src/gridstack.js
@@ -39,7 +39,9 @@
document.getElementsByTagName('head')[0].appendChild(style);
return style.sheet;
},
-
+ remove_stylesheet: function(id) {
+ $("STYLE[data-gs-id=" + id +"]").remove();
+ },
insert_css_rule: function(sheet, selector, rules, index) {
if (typeof sheet.insertRule === 'function') {
sheet.insertRule(selector + '{' + rules + '}', index);
@@ -463,7 +465,7 @@
this.grid.get_grid_height() * (this.opts.cell_height + this.opts.vertical_margin) -
this.opts.vertical_margin);
- var on_resize_handler = function() {
+ this.on_resize_handler = function() {
if (self._is_one_column_mode()) {
if (one_column_mode)
return;
@@ -506,8 +508,8 @@
}
};
- $(window).resize(on_resize_handler);
- on_resize_handler();
+ $(window).resize(this.on_resize_handler);
+ this.on_resize_handler();
};
GridStack.prototype._trigger_change_event = function(forceTrigger) {
@@ -747,6 +749,15 @@
this._update_container_height();
};
+ GridStack.prototype.destroy = function() {
+ $(window).off("resize", this.on_resize_handler);
+ this.disable();
+ this.container.remove();
+ Utils.remove_stylesheet(this._styles_id);
+ if (this.grid)
+ this.grid = null;
+ };
+
GridStack.prototype.resizable = function(el, val) {
el = $(el);
el.each(function(index, el) {