From efb49d26a2e15c311c1b8c11b3526e4b35880ef4 Mon Sep 17 00:00:00 2001 From: Alejandro Torrado Date: Sat, 23 Apr 2016 17:16:14 -0300 Subject: [PATCH 1/2] Fixed CellFromPixel call when dragging an external item. --- src/gridstack.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gridstack.js b/src/gridstack.js index bbf077a..515a2c3 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -708,7 +708,7 @@ var onDrag = function(event, ui) { var el = draggingElement; var node = el.data('_gridstack_node'); - var pos = self.getCellFromPixel(ui.offset, true); + var pos = self.getCellFromPixel({left: event.pageX, top: event.pageY}, true); var x = Math.max(0, pos.x); var y = Math.max(0, pos.y); if (!node._added) { From 5e71f4bd0dbddcb2880f6fe66b5283e3c748969b Mon Sep 17 00:00:00 2001 From: Alejandro Torrado Date: Sat, 23 Apr 2016 17:20:58 -0300 Subject: [PATCH 2/2] Locked items did not respected their positions when external items were dropped. --- src/gridstack.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gridstack.js b/src/gridstack.js index 515a2c3..87fa564 100644 --- a/src/gridstack.js +++ b/src/gridstack.js @@ -715,6 +715,7 @@ node._added = true; node.el = el; + node.autoPosition = true; node.x = x; node.y = y; self.grid.cleanNodes(); @@ -732,14 +733,13 @@ node._beforeDragX = node.x; node._beforeDragY = node.y; - self._updateContainerHeight(); - } else { - if (!self.grid.canMoveNode(node, x, y)) { - return; - } - self.grid.moveNode(node, x, y); self._updateContainerHeight(); } + if (!self.grid.canMoveNode(node, x, y)) { + return; + } + self.grid.moveNode(node, x, y); + self._updateContainerHeight(); }; $(self.container).droppable({