diff --git a/dist/jquery.gridster.css b/dist/jquery.gridster.css
index 82117d0a8b..36923624c3 100644
--- a/dist/jquery.gridster.css
+++ b/dist/jquery.gridster.css
@@ -1,4 +1,4 @@
-/*! gridster.js - v0.1.0 - 2012-07-19
+/*! gridster.js - v0.1.0 - 2012-07-20
* https://github.com/ducksboard/gridster.js
* Copyright (c) 2012 ducksboard; Licensed MIT, GPL */
diff --git a/dist/jquery.gridster.js b/dist/jquery.gridster.js
index af3c2174ce..a1cab8a170 100644
--- a/dist/jquery.gridster.js
+++ b/dist/jquery.gridster.js
@@ -1,4 +1,4 @@
-/*! gridster.js - v0.1.0 - 2012-07-19
+/*! gridster.js - v0.1.0 - 2012-07-20
* https://github.com/ducksboard/gridster.js
* Copyright (c) 2012 ducksboard; Licensed MIT, GPL */
@@ -484,8 +484,8 @@
}
if (valid_pos.length) {
- var next_position = this.sort_by_row_asc(valid_pos);
- next_position = this.sort_by_row_asc(next_position)[0];
+ var next_position = this.sort_by_row_desc(valid_pos);
+ next_position = this.sort_by_col_asc(next_position)[0];
return next_position;
}
return false;
@@ -652,16 +652,19 @@
$(ui.helper) : self.$player;
self.on_start_drag.call(self, event, ui);
+ self.$el.trigger('gridster:dragstart');
},
stop: function(event, ui) {
self.on_stop_drag.call(self, ui);
+ self.$el.trigger('gridster:dragstop');
},
drag: throttle(function(event, ui) {
self.on_drag.call(self, event, ui);
+ self.$el.trigger('gridster:drag');
}, 100, true)
});
- this.$widgets.draggable(draggable_options);
+ this.$widgets.draggable(draggable_options);
return this;
};
@@ -1117,7 +1120,8 @@
* @return {Boolean} Returns true or false.
*/
fn.is_placeholder_in_col = function(col) {
- return $.inArray(col, this.cells_occupied_by_placeholder.cols) >= 0;
+ var c = this.cells_occupied_by_placeholder || [];
+ return $.inArray(col, c.cols) >= 0;
};
@@ -1866,12 +1870,11 @@
col: col,
row: row
};
- var cells_occupied_by_w = this.get_cells_occupied(widget_grid_data);
var result = true;
this.for_each_cell_occupied(future_wd, function(tcol, trow){
var $tw = this.is_widget(tcol, trow);
- if ($tw && !$tw.is($w)) {
+ if ($tw && (!widget_grid_data.el || $tw.is($w))) {
result = false;
}
});
diff --git a/dist/jquery.gridster.min.css b/dist/jquery.gridster.min.css
index 40ffed021c..332f0cacd5 100644
--- a/dist/jquery.gridster.min.css
+++ b/dist/jquery.gridster.min.css
@@ -1,3 +1,3 @@
-/*! gridster.js - v0.1.0 - 2012-07-19
+/*! gridster.js - v0.1.0 - 2012-07-20
* https://github.com/ducksboard/gridster.js
* Copyright (c) 2012 ducksboard; Licensed MIT, GPL */.gridster{position:relative}.gridster>*{margin:0 auto;-webkit-transition:height .4s;-moz-transition:height .4s;-o-transition:height .4s;-ms-transition:height .4s;transition:height .4s}.gridster .gs_w{z-index:2;position:absolute;background:rgba(0,0,0,.23)}.ready .gs_w:not(.player):not(.preview-holder):not(.ui-draggable-dragging){-webkit-transition:left .3s,top .3s;-moz-transition:left .3s,top .3s;-o-transition:left .3s,top .3s}.gridster.dragging .ui-sortable-helper{z-index:9}.gridster .preview-holder{border:2px dashed #333;border-radius:5px;z-index:1;background:#FFF;position:absolute}.gridster .ui-draggable-dragging{z-index:10!important}
\ No newline at end of file
diff --git a/dist/jquery.gridster.min.js b/dist/jquery.gridster.min.js
index 8c7f7a7e68..a7b2fa3ba7 100644
--- a/dist/jquery.gridster.min.js
+++ b/dist/jquery.gridster.min.js
@@ -1,4 +1,4 @@
-/*! gridster.js - v0.1.0 - 2012-07-19
+/*! gridster.js - v0.1.0 - 2012-07-20
* https://github.com/ducksboard/gridster.js
* Copyright (c) 2012 ducksboard; Licensed MIT, GPL */
-(function(a,b,c,d){function e(b){return b[0]&&a.isPlainObject(b[0])?this.data=b[0]:this.el=b,this.isCoords=!0,this.coords={},this.init(),this}var f=e.prototype;f.init=function(){this.set(),this.original_coords=this.get()},f.set=function(){var a=this.el;a&&(this.data=a.offset(),this.data.width||(this.data.width=a.width()),this.data.height||(this.data.height=a.height()));var b=this.data;return this.coords.x1=b.left,this.coords.y1=b.top,this.coords.x2=b.left+b.width,this.coords.y2=b.top+b.height,this.coords.cx=b.left+b.width/2,this.coords.cy=b.top+b.height/2,this.coords.width=b.width,this.coords.height=b.height,this.coords.el=a||!1,this},f.update=function(b){if(!b&&!this.el)return this;if(b){var c=a.extend(this.data,b);this.data=c}return this.set(),this},f.get=function(){return this.coords},a.fn.coords=function(){if(this.data("coords"))return this.data("coords");var a=new e(this,arguments[0]);return this.data("coords",a),a}})(jQuery,window,document),function(a,b,c,d){function f(b,c,d){this.options=a.extend(e,d),this.$element=b,this.last_colliders=[],this.last_colliders_coords=[],typeof c=="string"||c instanceof jQuery?this.$colliders=a(c,this.options.colliders_context).not(this.$element):this.colliders=a(c),this.init()}var e={colliders_context:c.body,on_overlap:function(a){},on_overlap_start:function(a){},on_overlap_stop:function(a){}},g=f.prototype;g.init=function(){this.find_collisions()},g.overlaps=function(a,b){var c=!1,d=!1;if(b.x1>=a.x1&&b.x1<=a.x2||b.x2>=a.x1&&b.x2<=a.x2||a.x1>=b.x1&&a.x2<=b.x2)c=!0;if(b.y1>=a.y1&&b.y1<=a.y2||b.y2>=a.y1&&b.y2<=a.y2||a.y1>=b.y1&&a.y2<=b.y2)d=!0;return c&&d},g.detect_overlapping_region=function(a,b){var c="",d="";return a.y1>b.cy&&a.y1src/jquery.gridster.js:1896
+ src/jquery.gridster.js:1899
src/jquery.gridster.js:991
+ src/jquery.gridster.js:995
@@ -1435,7 +1435,7 @@
- src/jquery.gridster.js:1398
+ src/jquery.gridster.js:1402
@@ -1572,7 +1572,7 @@ upper row possible.
- src/jquery.gridster.js:1040
+ src/jquery.gridster.js:1044
@@ -1690,7 +1690,7 @@ upper row possible.
- src/jquery.gridster.js:1570
+ src/jquery.gridster.js:1574
@@ -1888,7 +1888,7 @@ into account the dimensions (size_y
and size_x
attrs.
- src/jquery.gridster.js:1533
+ src/jquery.gridster.js:1537
@@ -1975,7 +1975,7 @@ into account the dimensions (size_y
and size_x
attrs.
- src/jquery.gridster.js:1668
+ src/jquery.gridster.js:1671
@@ -2103,7 +2103,7 @@ each one.
- src/jquery.gridster.js:1689
+ src/jquery.gridster.js:1692
@@ -2231,7 +2231,7 @@ each one.
- src/jquery.gridster.js:1708
+ src/jquery.gridster.js:1711
@@ -2364,7 +2364,7 @@ each one.
- src/jquery.gridster.js:1774
+ src/jquery.gridster.js:1777
@@ -2511,7 +2511,7 @@ iteration. The value of this
inside the function is the jQuery wrap
- src/jquery.gridster.js:1790
+ src/jquery.gridster.js:1793
@@ -2652,7 +2652,7 @@ iteration. The value of this
inside the function is the jQuery wrap
- src/jquery.gridster.js:1919
+ src/jquery.gridster.js:1922
@@ -2762,7 +2762,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1993
+ src/jquery.gridster.js:1996
@@ -2850,7 +2850,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1852
+ src/jquery.gridster.js:1855
@@ -2969,7 +2969,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1640
+ src/jquery.gridster.js:1643
@@ -3063,7 +3063,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1806
+ src/jquery.gridster.js:1809
@@ -3144,7 +3144,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1605
+ src/jquery.gridster.js:1608
@@ -3249,7 +3249,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1623
+ src/jquery.gridster.js:1626
@@ -3366,7 +3366,7 @@ detect row or column that we want to go.
- src/jquery.gridster.js:1091
+ src/jquery.gridster.js:1095
@@ -3494,7 +3494,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:1979
+ src/jquery.gridster.js:1982
@@ -3565,7 +3565,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:1169
+ src/jquery.gridster.js:1173
@@ -3636,7 +3636,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:927
+ src/jquery.gridster.js:931
@@ -3723,7 +3723,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:846
+ src/jquery.gridster.js:850
@@ -3848,7 +3848,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:865
+ src/jquery.gridster.js:869
@@ -3973,7 +3973,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:820
+ src/jquery.gridster.js:823
@@ -4092,7 +4092,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:834
+ src/jquery.gridster.js:837
@@ -4202,7 +4202,7 @@ theupperrowsarray. Iteration starts from row specified in
src/jquery.gridster.js:788
+ src/jquery.gridster.js:791
@@ -4330,7 +4330,7 @@ HTMLElements.
- src/jquery.gridster.js:805
+ src/jquery.gridster.js:808
@@ -4456,7 +4456,7 @@ and col given.
- src/jquery.gridster.js:885
+ src/jquery.gridster.js:889
@@ -4582,7 +4582,7 @@ else returns the jQuery HTMLElement
- src/jquery.gridster.js:910
+ src/jquery.gridster.js:914
@@ -4714,7 +4714,7 @@ params and if this is under the widget that is being dragged.
- src/jquery.gridster.js:742
+ src/jquery.gridster.js:745
@@ -4856,7 +4856,7 @@ each widget) in descending way.
- src/jquery.gridster.js:1353
+ src/jquery.gridster.js:1357
@@ -4975,7 +4975,7 @@ each widget) in descending way.
- src/jquery.gridster.js:1264
+ src/jquery.gridster.js:1268
@@ -5087,7 +5087,7 @@ if they can.
- src/jquery.gridster.js:1307
+ src/jquery.gridster.js:1311
@@ -5335,7 +5335,7 @@ if they can.
- src/jquery.gridster.js:441
+ src/jquery.gridster.js:444
@@ -5448,7 +5448,7 @@ if they can.
- src/jquery.gridster.js:518
+ src/jquery.gridster.js:521
@@ -5576,7 +5576,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:558
+ src/jquery.gridster.js:561
@@ -5700,7 +5700,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:392
+ src/jquery.gridster.js:395
@@ -5807,7 +5807,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:1202
+ src/jquery.gridster.js:1206
@@ -5911,7 +5911,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:1214
+ src/jquery.gridster.js:1218
@@ -6017,7 +6017,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:467
+ src/jquery.gridster.js:470
@@ -6124,7 +6124,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:1226
+ src/jquery.gridster.js:1230
@@ -6228,7 +6228,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:1244
+ src/jquery.gridster.js:1248
@@ -6322,7 +6322,7 @@ overlapped or stops being overlapped.
- src/jquery.gridster.js:1955
+ src/jquery.gridster.js:1958
@@ -6871,7 +6871,7 @@ mapped array of positions.
- src/jquery.gridster.js:1516
+ src/jquery.gridster.js:1520
@@ -6980,7 +6980,7 @@ mapped array of positions.
- src/jquery.gridster.js:1838
+ src/jquery.gridster.js:1841
@@ -7067,7 +7067,7 @@ mapped array of positions.
- src/jquery.gridster.js:949
+ src/jquery.gridster.js:953
@@ -7194,7 +7194,7 @@ mapped array of positions.
- src/jquery.gridster.js:594
+ src/jquery.gridster.js:597
@@ -7315,7 +7315,7 @@ mapped array of positions.
- src/jquery.gridster.js:683
+ src/jquery.gridster.js:686
@@ -7420,7 +7420,7 @@ each widget) in ascending way.
- src/jquery.gridster.js:703
+ src/jquery.gridster.js:706
@@ -7525,7 +7525,7 @@ coords of each widget) in ascending way.
- src/jquery.gridster.js:723
+ src/jquery.gridster.js:726
@@ -7759,7 +7759,7 @@ the grid coords object passed in the grid_data
param.
- src/jquery.gridster.js:1487
+ src/jquery.gridster.js:1491
@@ -7863,7 +7863,7 @@ the grid coords object passed in the grid_data
param.
- src/jquery.gridster.js:647
+ src/jquery.gridster.js:650
diff --git a/docs/data.json b/docs/data.json
index bbf6b37202..45ae5c0f72 100644
--- a/docs/data.json
+++ b/docs/data.json
@@ -410,7 +410,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 392,
+ "line": 395,
"description": "This function is executed when the player begins to be dragged.",
"itemtype": "method",
"name": "on_start_drag",
@@ -430,7 +430,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 441,
+ "line": 444,
"description": "This function is executed when the player is being dragged.",
"itemtype": "method",
"name": "on_drag",
@@ -450,7 +450,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 467,
+ "line": 470,
"description": "This function is executed when the player stops being dragged.",
"itemtype": "method",
"name": "on_stop_drag",
@@ -470,7 +470,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 518,
+ "line": 521,
"description": "Executes the callbacks passed as arguments when a column begins to be\noverlapped or stops being overlapped.",
"params": [
{
@@ -494,7 +494,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 558,
+ "line": 561,
"description": "Executes the callbacks passed as arguments when a row starts to be\noverlapped or stops being overlapped.",
"params": [
{
@@ -518,7 +518,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 594,
+ "line": 597,
"description": "Sets the current position of the player",
"params": [
{
@@ -542,7 +542,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 647,
+ "line": 650,
"description": "See which of the widgets in the $widgets param collection can go to\na upper row and which not.",
"itemtype": "method",
"name": "widgets_contraints",
@@ -561,7 +561,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 683,
+ "line": 686,
"description": "Sorts an Array of grid coords objects (representing the grid coords of\neach widget) in ascending way.",
"itemtype": "method",
"name": "sort_by_row_asc",
@@ -580,7 +580,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 703,
+ "line": 706,
"description": "Sorts an Array of grid coords objects by column (representing the grid\ncoords of each widget) in ascending way.",
"itemtype": "method",
"name": "sort_by_row_asc",
@@ -599,7 +599,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 723,
+ "line": 726,
"description": "Sorts an Array of grid coords objects (representing the grid coords of\neach widget) in descending way.",
"itemtype": "method",
"name": "sort_by_row_desc",
@@ -618,7 +618,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 742,
+ "line": 745,
"description": "Sorts an Array of grid coords objects (representing the grid coords of\neach widget) in descending way.",
"itemtype": "method",
"name": "manage_movements",
@@ -647,7 +647,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 788,
+ "line": 791,
"description": "Determines if there is a widget in the row and col given. Or if the\nHTMLElement passed as first argument is the player.",
"itemtype": "method",
"name": "is_player",
@@ -672,7 +672,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 805,
+ "line": 808,
"description": "Determines if the widget that is being dragged is currently over the row\nand col given.",
"itemtype": "method",
"name": "is_player_in",
@@ -696,7 +696,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 820,
+ "line": 823,
"description": "Determines if the placeholder is currently over the row and col given.",
"itemtype": "method",
"name": "is_placeholder_in",
@@ -720,7 +720,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 834,
+ "line": 837,
"description": "Determines if the placeholder is currently over the column given.",
"itemtype": "method",
"name": "is_placeholder_in_col",
@@ -739,7 +739,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 846,
+ "line": 850,
"description": "Determines if the cell represented by col and row params is empty.",
"itemtype": "method",
"name": "is_empty",
@@ -763,7 +763,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 865,
+ "line": 869,
"description": "Determines if the cell represented by col and row params is occupied.",
"itemtype": "method",
"name": "is_occupied",
@@ -787,7 +787,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 885,
+ "line": 889,
"description": "Determines if there is a widget in the cell represented by col/row params.",
"itemtype": "method",
"name": "is_widget",
@@ -811,7 +811,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 910,
+ "line": 914,
"description": "Determines if there is a widget in the cell represented by col/row\nparams and if this is under the widget that is being dragged.",
"itemtype": "method",
"name": "is_widget_under_player",
@@ -835,7 +835,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 927,
+ "line": 931,
"description": "Get widgets overlapping with the player.",
"itemtype": "method",
"name": "get_widgets_under_player",
@@ -847,7 +847,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 949,
+ "line": 953,
"description": "Put placeholder at the row and column specified.",
"itemtype": "method",
"name": "set_placeholder",
@@ -871,7 +871,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 991,
+ "line": 995,
"description": "Determines whether the player can move to a position above.",
"itemtype": "method",
"name": "can_go_player_up",
@@ -890,7 +890,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1040,
+ "line": 1044,
"description": "Determines whether a widget can move to a position above.",
"itemtype": "method",
"name": "can_go_widget_up",
@@ -909,7 +909,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1091,
+ "line": 1095,
"description": "Search a valid row for the widget represented by `widget_grid_data' in\nthe `upper_rows` array. Iteration starts from row specified in `min_row`.",
"itemtype": "method",
"name": "get_valid_rows",
@@ -938,7 +938,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1169,
+ "line": 1173,
"description": "Get widgets overlapping with the player.",
"itemtype": "method",
"name": "get_widgets_overlapped",
@@ -950,7 +950,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1202,
+ "line": 1206,
"description": "This callback is executed when the player begins to collide with a column.",
"itemtype": "method",
"name": "on_start_overlapping_column",
@@ -969,7 +969,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1214,
+ "line": 1218,
"description": "A callback executed when the player begins to collide with a row.",
"itemtype": "method",
"name": "on_start_overlapping_row",
@@ -988,7 +988,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1226,
+ "line": 1230,
"description": "A callback executed when the the player ends to collide with a column.",
"itemtype": "method",
"name": "on_stop_overlapping_column",
@@ -1007,7 +1007,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1244,
+ "line": 1248,
"description": "This callback is executed when the player ends to collide with a row.",
"itemtype": "method",
"name": "on_stop_overlapping_row",
@@ -1026,7 +1026,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1264,
+ "line": 1268,
"description": "Move a widget to a specific row. The cell or cells must be empty.\nIf the widget has widgets below, all of these widgets will be moved also\nif they can.",
"itemtype": "method",
"name": "move_widget_to",
@@ -1045,7 +1045,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1307,
+ "line": 1311,
"description": "Move up the specified widget and all below it.",
"itemtype": "method",
"name": "move_widget_up",
@@ -1070,7 +1070,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1353,
+ "line": 1357,
"description": "Move down the specified widget and all below it.",
"itemtype": "method",
"name": "move_widget_down",
@@ -1094,7 +1094,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1398,
+ "line": 1402,
"description": "Check if the widget can move to the specified row, else returns the\nupper row possible.",
"itemtype": "method",
"name": "can_go_up_to_row",
@@ -1123,7 +1123,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1487,
+ "line": 1491,
"description": "Get widgets below a widget.",
"itemtype": "method",
"name": "widgets_below",
@@ -1142,7 +1142,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1516,
+ "line": 1520,
"description": "Update the array of mapped positions with the new player position.",
"itemtype": "method",
"name": "set_cells_player_occupies",
@@ -1166,7 +1166,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1533,
+ "line": 1537,
"description": "Remove from the array of mapped positions the reference to the player.",
"itemtype": "method",
"name": "empty_cells_player_occupies",
@@ -1178,7 +1178,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1570,
+ "line": 1574,
"description": "Check if it's possible to move a widget to a specific col/row. It takes\ninto account the dimensions (`size_y` and `size_x` attrs. of the grid coords\n object) the widget occupies.",
"itemtype": "method",
"name": "can_move_to",
@@ -1207,7 +1207,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1605,
+ "line": 1608,
"description": "Given the leftmost column returns all columns that are overlapping with the player.",
"itemtype": "method",
"name": "get_targeted_columns",
@@ -1227,7 +1227,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1623,
+ "line": 1626,
"description": "Given the upper row returns all rows that are overlapping with the player.",
"itemtype": "method",
"name": "get_targeted_rows",
@@ -1247,7 +1247,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1640,
+ "line": 1643,
"description": "Get all columns and rows that a widget occupies.",
"itemtype": "method",
"name": "get_cells_occupied",
@@ -1266,7 +1266,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1668,
+ "line": 1671,
"description": "Iterate over the cells occupied by a widget executing a function for\neach one.",
"itemtype": "method",
"name": "for_each_cell_occupied",
@@ -1290,7 +1290,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1689,
+ "line": 1692,
"description": "Iterate over the columns occupied by a widget executing a function for\neach one.",
"itemtype": "method",
"name": "for_each_column_occupied",
@@ -1314,7 +1314,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1708,
+ "line": 1711,
"description": "Iterate over the rows occupied by a widget executing a function for\neach one.",
"itemtype": "method",
"name": "for_each_row_occupied",
@@ -1338,7 +1338,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1774,
+ "line": 1777,
"description": "Iterate over each widget above the column and row specified.",
"itemtype": "method",
"name": "for_each_widget_above",
@@ -1367,7 +1367,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1790,
+ "line": 1793,
"description": "Iterate over each widget below the column and row specified.",
"itemtype": "method",
"name": "for_each_widget_below",
@@ -1396,7 +1396,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1806,
+ "line": 1809,
"description": "Returns the highest occupied cell in the grid.",
"itemtype": "method",
"name": "get_highest_occupied_cell",
@@ -1408,7 +1408,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1838,
+ "line": 1841,
"description": "Set the current height of the parent grid.",
"itemtype": "method",
"name": "set_dom_grid_height",
@@ -1420,7 +1420,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1852,
+ "line": 1855,
"description": "It generates the neccessary styles to position the widgets.",
"itemtype": "method",
"name": "generate_stylesheet",
@@ -1444,7 +1444,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1896,
+ "line": 1899,
"description": "Injects the given CSS as string to the head of the document.",
"itemtype": "method",
"name": "add_style_tag",
@@ -1463,7 +1463,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1919,
+ "line": 1922,
"description": "Generates a faux grid to collide with it when a widget is dragged and\ndetect row or column that we want to go.",
"itemtype": "method",
"name": "generate_faux_grid",
@@ -1487,7 +1487,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1955,
+ "line": 1958,
"description": "Recalculates the offsets for the faux grid. You need to use it when\nthe browser is resized.",
"itemtype": "method",
"name": "recalculate_faux_grid",
@@ -1499,7 +1499,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1979,
+ "line": 1982,
"description": "Get all widgets in the DOM and register them.",
"itemtype": "method",
"name": "get_widgets_from_DOM",
@@ -1511,7 +1511,7 @@
},
{
"file": "src/jquery.gridster.js",
- "line": 1993,
+ "line": 1996,
"description": "Calculate columns and rows to be set based on the configuration\n parameters, grid dimensions, etc ...",
"itemtype": "method",
"name": "generate_grid_and_stylesheet",
diff --git a/docs/files/src_jquery.gridster.js.html b/docs/files/src_jquery.gridster.js.html
index a3e37323eb..4b865c9dcd 100644
--- a/docs/files/src_jquery.gridster.js.html
+++ b/docs/files/src_jquery.gridster.js.html
@@ -299,8 +299,8 @@
}
if (valid_pos.length) {
- var next_position = this.sort_by_row_asc(valid_pos);
- next_position = this.sort_by_row_asc(next_position)[0];
+ var next_position = this.sort_by_row_desc(valid_pos);
+ next_position = this.sort_by_col_asc(next_position)[0];
return next_position;
}
return false;
@@ -467,16 +467,19 @@
$(ui.helper) : self.$player;
self.on_start_drag.call(self, event, ui);
+ self.$el.trigger('gridster:dragstart');
},
stop: function(event, ui) {
self.on_stop_drag.call(self, ui);
+ self.$el.trigger('gridster:dragstop');
},
drag: throttle(function(event, ui) {
self.on_drag.call(self, event, ui);
+ self.$el.trigger('gridster:drag');
}, 100, true)
});
- this.$widgets.draggable(draggable_options);
+ this.$widgets.draggable(draggable_options);
return this;
};
@@ -932,7 +935,8 @@
* @return {Boolean} Returns true or false.
*/
fn.is_placeholder_in_col = function(col) {
- return $.inArray(col, this.cells_occupied_by_placeholder.cols) >= 0;
+ var c = this.cells_occupied_by_placeholder || [];
+ return $.inArray(col, c.cols) >= 0;
};
@@ -1681,12 +1685,11 @@
col: col,
row: row
};
- var cells_occupied_by_w = this.get_cells_occupied(widget_grid_data);
var result = true;
this.for_each_cell_occupied(future_wd, function(tcol, trow){
var $tw = this.is_widget(tcol, trow);
- if ($tw && !$tw.is($w)) {
+ if ($tw && (!widget_grid_data.el || $tw.is($w))) {
result = false;
}
});
diff --git a/index.html b/index.html
index 38fe155291..2486a21e55 100755
--- a/index.html
+++ b/index.html
@@ -367,7 +367,10 @@
widget_margins: [10, 10],
widget_base_dimensions: [140, 140],
min_cols: 6,
- min_rows: 10
+ min_rows: 10,
+ draggable: {
+ helper: "clone"
+ }
}).data('gridster');
});
diff --git a/src/jquery.gridster.js b/src/jquery.gridster.js
index fcee4facef..fdd1375bae 100644
--- a/src/jquery.gridster.js
+++ b/src/jquery.gridster.js
@@ -206,8 +206,8 @@
}
if (valid_pos.length) {
- var next_position = this.sort_by_row_asc(valid_pos);
- next_position = this.sort_by_row_asc(next_position)[0];
+ var next_position = this.sort_by_row_desc(valid_pos);
+ next_position = this.sort_by_col_asc(next_position)[0];
return next_position;
}
return false;
@@ -842,7 +842,8 @@
* @return {Boolean} Returns true or false.
*/
fn.is_placeholder_in_col = function(col) {
- return $.inArray(col, this.cells_occupied_by_placeholder.cols) >= 0;
+ var c = this.cells_occupied_by_placeholder || [];
+ return $.inArray(col, c.cols) >= 0;
};
@@ -1591,12 +1592,11 @@
col: col,
row: row
};
- var cells_occupied_by_w = this.get_cells_occupied(widget_grid_data);
var result = true;
this.for_each_cell_occupied(future_wd, function(tcol, trow){
var $tw = this.is_widget(tcol, trow);
- if ($tw && !$tw.is($w)) {
+ if ($tw && (!widget_grid_data.el || $tw.is($w))) {
result = false;
}
});