From 47d1173394fa5b8302cd1bcc98285c1b4ec3a1ce Mon Sep 17 00:00:00 2001 From: Valera Rozuvan Date: Fri, 18 Jan 2013 18:44:50 +0200 Subject: [PATCH] Refactoring and cleaning of code. --- .../js/capa/drag_and_drop/draggables.js | 41 ----------------- common/static/js/capa/drag_and_drop/main.js | 2 + common/static/js/capa/drag_and_drop/state.js | 45 ++++++++++++++++++- 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/common/static/js/capa/drag_and_drop/draggables.js b/common/static/js/capa/drag_and_drop/draggables.js index a7c36e40fc..a867cf73fe 100644 --- a/common/static/js/capa/drag_and_drop/draggables.js +++ b/common/static/js/capa/drag_and_drop/draggables.js @@ -16,47 +16,6 @@ define(['logme', 'update_input'], function (logme, updateInput) { c1 += 1 } }(0)); - - state.updateArrowOpacity(); - - $(document).mousemove(function (event) { - documentMouseMove(state, event); - }); - } - - function documentMouseMove(state, event) { - if (state.currentMovingDraggable !== null) { - state.currentMovingDraggable.iconEl.css( - 'left', - event.pageX - - state.baseImageEl.offset().left - - state.currentMovingDraggable.iconWidth * 0.5 - - state.currentMovingDraggable.iconElLeftOffset - ); - state.currentMovingDraggable.iconEl.css( - 'top', - event.pageY - - state.baseImageEl.offset().top - - state.currentMovingDraggable.iconHeight * 0.5 - ); - - if (state.currentMovingDraggable.labelEl !== null) { - state.currentMovingDraggable.labelEl.css( - 'left', - event.pageX - - state.baseImageEl.offset().left - - state.currentMovingDraggable.labelWidth * 0.5 - - 9 // Account for padding, border. - ); - state.currentMovingDraggable.labelEl.css( - 'top', - event.pageY - - state.baseImageEl.offset().top + - state.currentMovingDraggable.iconHeight * 0.5 + - 5 - ); - } - } } function makeDraggableCopy(callbackFunc) { diff --git a/common/static/js/capa/drag_and_drop/main.js b/common/static/js/capa/drag_and_drop/main.js index 114aa22616..89cf08001d 100644 --- a/common/static/js/capa/drag_and_drop/main.js +++ b/common/static/js/capa/drag_and_drop/main.js @@ -63,6 +63,8 @@ define( Scroller(state); Draggables.init(state); + state.updateArrowOpacity(); + // Update the input element, checking first that it is not filled with // an answer from the server. if (updateInput.check(state) === false) { diff --git a/common/static/js/capa/drag_and_drop/state.js b/common/static/js/capa/drag_and_drop/state.js index d0ea6b65ef..4565acd842 100644 --- a/common/static/js/capa/drag_and_drop/state.js +++ b/common/static/js/capa/drag_and_drop/state.js @@ -8,7 +8,9 @@ define([], function () { return State; function State(problemId) { - return { + var state; + + state = { 'config': null, 'baseImageEl': null, @@ -33,6 +35,12 @@ define([], function () { 'getUniqueId': getUniqueId }; + + $(document).mousemove(function (event) { + documentMouseMove(state, event); + }); + + return state; } function getUniqueId() { @@ -53,6 +61,41 @@ define([], function () { return text; } + + function documentMouseMove(state, event) { + if (state.currentMovingDraggable !== null) { + state.currentMovingDraggable.iconEl.css( + 'left', + event.pageX - + state.baseImageEl.offset().left - + state.currentMovingDraggable.iconWidth * 0.5 + - state.currentMovingDraggable.iconElLeftOffset + ); + state.currentMovingDraggable.iconEl.css( + 'top', + event.pageY - + state.baseImageEl.offset().top - + state.currentMovingDraggable.iconHeight * 0.5 + ); + + if (state.currentMovingDraggable.labelEl !== null) { + state.currentMovingDraggable.labelEl.css( + 'left', + event.pageX - + state.baseImageEl.offset().left - + state.currentMovingDraggable.labelWidth * 0.5 + - 9 // Account for padding, border. + ); + state.currentMovingDraggable.labelEl.css( + 'top', + event.pageY - + state.baseImageEl.offset().top + + state.currentMovingDraggable.iconHeight * 0.5 + + 5 + ); + } + } + } }); // End of wrapper for RequireJS. As you can see, we are passing