diff --git a/lib/raphael.draggable.js b/lib/raphael.draggable.js index 2e185b8..1fc53c6 100644 --- a/lib/raphael.draggable.js +++ b/lib/raphael.draggable.js @@ -11,21 +11,21 @@ paper.draggable.current = function(element) { if (element) { - currentDraggable = element; - return paper; - } - else { - return currentDraggable; - } - }; - - paper.draggable.clearCurrent = function() { - currentDraggable = null; - return paper; - } - - overrideElements(paper); - overrideSet(paper); + currentDraggable = element; + return paper; + } + else { + return currentDraggable; + } + }; + + paper.draggable.clearCurrent = function() { + currentDraggable = null; + return paper; + } + + overrideElements(paper); + overrideSet(paper); return paper; }; @@ -44,29 +44,29 @@ /* Raphael element extensions */ function overrideElements(paper) { var elementTypes = ['circle', 'rect', 'ellipse', 'image', 'text', 'path']; - for(var i = 0; i < elementTypes.length; i++) { - overrideElementFunc(paper, elementTypes[i]); - } + for(var i = 0; i < elementTypes.length; i++) { + overrideElementFunc(paper, elementTypes[i]); + } } function overrideElementFunc(paper, elementType) { - var oldFunc = paper[elementType]; - paper[elementType] = function() { - var element = oldFunc.apply(paper, arguments); - element.draggable = new DraggableExtension(element); - return element; - }; - } - - /* Extension for objects that adds draggable functionality */ - var DraggableExtension = function (element) { - var paper = element.paper, - lastX, - lastY; - - this.element = element; - this.enabled = false; - + var oldFunc = paper[elementType]; + paper[elementType] = function() { + var element = oldFunc.apply(paper, arguments); + element.draggable = new DraggableExtension(element); + return element; + }; + } + + /* Extension for objects that adds draggable functionality */ + var DraggableExtension = function (element) { + var paper = element.paper, + lastX, + lastY; + + this.element = element; + this.enabled = false; + element.mousedown(function(event) { if (paper.draggable.current() || !element.draggable.enabled) return; @@ -75,7 +75,7 @@ paper.draggable.current(element); lastX = event.clientX; - lastY = event.clientY; + lastY = event.clientY; }); element.mousemove(function(event) { @@ -90,44 +90,44 @@ lastY = event.clientY; } }); - - element.mouseup(stopDragging); - element.mouseout(stopDragging); - - function stopDragging() { - element.draggable.isDragging = false; - paper.draggable.clearCurrent(); - } - }; - + + element.mouseup(stopDragging); + element.mouseout(stopDragging); + + function stopDragging() { + element.draggable.isDragging = false; + paper.draggable.clearCurrent(); + } + }; + DraggableExtension.prototype = BaseFunctions; /* Raphael set extensions */ - function overrideSet(paper) { - var oldFunc = paper.set; - paper.set = function() { - var set = oldFunc.apply(paper, arguments); - set.paper = paper; - set.draggable = new DraggableSetExtension(set); - - overrideSetFunctions(set); - return set; - }; - } - - function overrideSetFunctions(set) { - var oldPushFunc = set.push; - set.push = function(element) { - oldPushFunc.apply(set, arguments); - if (element.draggable) { - element.draggable.parent = set; - - if (set.draggable.enabled) { - element.draggable.enable(); - } - } - } - } + function overrideSet(paper) { + var oldFunc = paper.set; + paper.set = function() { + var set = oldFunc.apply(paper, arguments); + set.paper = paper; + set.draggable = new DraggableSetExtension(set); + + overrideSetFunctions(set); + return set; + }; + } + + function overrideSetFunctions(set) { + var oldPushFunc = set.push; + set.push = function(element) { + oldPushFunc.apply(set, arguments); + if (element.draggable) { + element.draggable.parent = set; + + if (set.draggable.enabled) { + element.draggable.enable(); + } + } + } + } DraggableSetExtension = function(set) { this.element = set;