From 9cbd76c83a29c4d717b722f0049ddfd74a8516b1 Mon Sep 17 00:00:00 2001 From: Iskren Hadzhinedev Date: Fri, 20 Nov 2015 14:35:56 +0000 Subject: [PATCH 1/2] Contain the selection helper inside the multiple selection zone --- multiple-selection.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/multiple-selection.js b/multiple-selection.js index 6e1f4ed..5abb3b5 100644 --- a/multiple-selection.js +++ b/multiple-selection.js @@ -112,7 +112,13 @@ angular.module('multipleSelection', []) * @return {Object} result Transformed object */ function transformBox(startX, startY, endX, endY) { + topBorder = element[0].offsetTop; + bottomBorder = element[0].offsetHeight + topBorder; + leftBorder = element[0].offsetLeft; + rightBorder = element[0].offsetWidth + leftBorder; + endY = Math.min(Math.max(topBorder, endY), bottomBorder); + endX = Math.min(Math.max(leftBorder, endX), rightBorder); var result = {}; if (startX > endX) { From 1edca91e07290877c30fd32008607071b6462c16 Mon Sep 17 00:00:00 2001 From: Iskren Hadzhinedev Date: Fri, 20 Nov 2015 17:08:55 +0000 Subject: [PATCH 2/2] Wrapped the code in a closure to avoid global scope pollution --- multiple-selection.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/multiple-selection.js b/multiple-selection.js index 5abb3b5..7ca961a 100644 --- a/multiple-selection.js +++ b/multiple-selection.js @@ -3,6 +3,9 @@ * @author Maksym Pomazan * @version 0.0.3 */ + + +;;(function(){ function getSelectableElements(element) { var out = []; var childs = element.children(); @@ -112,10 +115,10 @@ angular.module('multipleSelection', []) * @return {Object} result Transformed object */ function transformBox(startX, startY, endX, endY) { - topBorder = element[0].offsetTop; - bottomBorder = element[0].offsetHeight + topBorder; - leftBorder = element[0].offsetLeft; - rightBorder = element[0].offsetWidth + leftBorder; + var topBorder = element[0].offsetTop; + var bottomBorder = element[0].offsetHeight + topBorder; + var leftBorder = element[0].offsetLeft; + var rightBorder = element[0].offsetWidth + leftBorder; endY = Math.min(Math.max(topBorder, endY), bottomBorder); endX = Math.min(Math.max(leftBorder, endX), rightBorder); @@ -249,3 +252,4 @@ angular.module('multipleSelection', []) } }; }]); +})();