diff --git a/dist/gridstack.js b/dist/gridstack.js index ab214fa..68326ed 100644 --- a/dist/gridstack.js +++ b/dist/gridstack.js @@ -797,6 +797,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'); diff --git a/dist/gridstack.min.js b/dist/gridstack.min.js index 6bcee7c..b137029 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},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.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();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}); //# sourceMappingURL=gridstack.min.map \ No newline at end of file diff --git a/dist/gridstack.min.map b/dist/gridstack.min.map index ca90f0a..ba2f3cb 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":"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"} \ 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","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","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