From ce967a11995ea73d8c77a869c8ab954e93b21635 Mon Sep 17 00:00:00 2001 From: Ari-Pekka Hujanen Date: Mon, 25 Jan 2016 09:44:53 +0200 Subject: [PATCH 1/4] ngDragClone: variables were undefined if project was wrapped with IIFE. --- ngDraggable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ngDraggable.js b/ngDraggable.js index 3f4a2ee..b3febcb 100644 --- a/ngDraggable.js +++ b/ngDraggable.js @@ -393,7 +393,7 @@ angular.module("ngDraggable", []) return { restrict: 'A', link: function (scope, element, attrs) { - var img, _allowClone=true; + var img, _allowClone=true, _tx, _ty; var _dragOffset = null; scope.clonedData = {}; var initialize = function () { From ca777b507ce818f9caa4486b74376143b3462287 Mon Sep 17 00:00:00 2001 From: Mikko Rekola Date: Thu, 10 Aug 2017 16:39:20 +0300 Subject: [PATCH 2/4] Make allowTransform===false use clientX instead of pageX to calculate position of element --- ngDraggable.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ngDraggable.js b/ngDraggable.js index b3febcb..2182ade 100644 --- a/ngDraggable.js +++ b/ngDraggable.js @@ -203,7 +203,15 @@ angular.module("ngDraggable", []) _ty = _my - _mry - _dragOffset.top; } - moveElement(_tx, _ty); + if(allowTransform) + moveElement(_tx, _ty); + else{ + var ty = _mry - _dragOffset.top; + var tx = _mrx - _dragOffset.left; + var trueMoveX = ngDraggable.inputEvent(evt).clientX - tx; + var trueMoveY = ngDraggable.inputEvent(evt).clientY - ty; + moveElement(trueMoveX, trueMoveY); + } $rootScope.$broadcast('draggable:move', { x: _mx, y: _my, tx: _tx, ty: _ty, event: evt, element: element, data: _data, uid: _myid, dragOffset: _dragOffset }); }; @@ -254,7 +262,7 @@ angular.module("ngDraggable", []) '-ms-transform': 'matrix(1, 0, 0, 1, ' + x + ', ' + y + ')' }); }else{ - element.css({'left':x+'px','top':y+'px', 'position':'fixed'}); + element.css({'left': x+'px','top': y+'px', 'position': 'fixed', 'z-index': 99999}); } }; initialize(); From b4be0cc5eb43fe3cf2a085f427b7c29ece2f8cec Mon Sep 17 00:00:00 2001 From: Mikko Rekola Date: Thu, 10 Aug 2017 16:45:02 +0300 Subject: [PATCH 3/4] Some comments. Renaming variables --- ngDraggable.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ngDraggable.js b/ngDraggable.js index 2182ade..648551e 100644 --- a/ngDraggable.js +++ b/ngDraggable.js @@ -206,11 +206,13 @@ angular.module("ngDraggable", []) if(allowTransform) moveElement(_tx, _ty); else{ + //Note: does not take into account _centerAnchor + //Click offset in element coordinates var ty = _mry - _dragOffset.top; var tx = _mrx - _dragOffset.left; - var trueMoveX = ngDraggable.inputEvent(evt).clientX - tx; - var trueMoveY = ngDraggable.inputEvent(evt).clientY - ty; - moveElement(trueMoveX, trueMoveY); + var newX = ngDraggable.inputEvent(evt).clientX - tx; + var newY = ngDraggable.inputEvent(evt).clientY - ty; + moveElement(newX, newY); } $rootScope.$broadcast('draggable:move', { x: _mx, y: _my, tx: _tx, ty: _ty, event: evt, element: element, data: _data, uid: _myid, dragOffset: _dragOffset }); From 036f134b909c43c3c381ec0350c8eeb350168b56 Mon Sep 17 00:00:00 2001 From: Mikko Rekola Date: Thu, 10 Aug 2017 16:47:05 +0300 Subject: [PATCH 4/4] Use spaces instead of tabs to indent --- ngDraggable.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ngDraggable.js b/ngDraggable.js index 648551e..029c23c 100644 --- a/ngDraggable.js +++ b/ngDraggable.js @@ -206,13 +206,13 @@ angular.module("ngDraggable", []) if(allowTransform) moveElement(_tx, _ty); else{ - //Note: does not take into account _centerAnchor - //Click offset in element coordinates - var ty = _mry - _dragOffset.top; - var tx = _mrx - _dragOffset.left; - var newX = ngDraggable.inputEvent(evt).clientX - tx; - var newY = ngDraggable.inputEvent(evt).clientY - ty; - moveElement(newX, newY); + //Note: does not take into account _centerAnchor + //Click offset in element coordinates + var ty = _mry - _dragOffset.top; + var tx = _mrx - _dragOffset.left; + var newX = ngDraggable.inputEvent(evt).clientX - tx; + var newY = ngDraggable.inputEvent(evt).clientY - ty; + moveElement(newX, newY); } $rootScope.$broadcast('draggable:move', { x: _mx, y: _my, tx: _tx, ty: _ty, event: evt, element: element, data: _data, uid: _myid, dragOffset: _dragOffset });