From 9926ceff59cba49c71542e45aa095be35eb1df58 Mon Sep 17 00:00:00 2001 From: vieron Date: Fri, 25 Jul 2014 15:43:23 +0200 Subject: [PATCH] fix(gridster): fire `positionschanged` when widget orig position changes Until now `gridster:positionschanged` was being fired only if the widget was moved up, but we also need to know if position is different when `avoid_overlapped_widgets` is set to true (by default). --- src/jquery.gridster.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/jquery.gridster.js b/src/jquery.gridster.js index 17b5da1fe..7bac91186 100755 --- a/src/jquery.gridster.js +++ b/src/jquery.gridster.js @@ -841,6 +841,7 @@ fn.register_widget = function($el) { var isDOM = $el instanceof jQuery; var wgd = isDOM ? this.dom_to_coords($el) : $el; + var posChanged = false; isDOM || ($el = wgd.el); var empty_upper_row = this.can_go_widget_up(wgd); @@ -848,6 +849,7 @@ wgd.row = empty_upper_row; $el.attr('data-row', empty_upper_row); this.$el.trigger('gridster:positionchanged', [wgd]); + posChanged = true; } if (this.options.avoid_overlapped_widgets && @@ -861,6 +863,7 @@ 'data-sizex': wgd.size_x, 'data-sizey': wgd.size_y }); + posChanged = true; } // attach Coord object to player data-coord attribute @@ -872,7 +875,7 @@ this.options.resize.enabled && this.add_resize_handle($el); - return !! empty_upper_row; + return posChanged; };