Index: branches/RC/core/admin_templates/js/drag.js =================================================================== diff -u -r9276 -r9299 --- branches/RC/core/admin_templates/js/drag.js (.../drag.js) (revision 9276) +++ branches/RC/core/admin_templates/js/drag.js (.../drag.js) (revision 9299) @@ -21,29 +21,39 @@ return res; } -DragManager.MakeDragable = function(object_id, startCallback, moveCallback, endCallback) +DragManager.MakeDragable = function(object_id, startCallback, moveCallback, endCallback, options) { - var Object = document.getElementById(object_id); - Object.onmousedown = function(ev){ + var drag_object = document.getElementById(object_id); + var cur_options = {'VerticalDrag': 1, 'HorizontalDrag': 1}; + if (options) { + for(var i in options) { + cur_options[i] = options[i]; + } + } + drag_object.onmousedown = function(ev){ ev = ev || window.event; - DragManager.InitialPos = findPos(Object); + DragManager.InitialPos = findPos(drag_object); var coords = DragManager.mouseCoords(ev); var pos = findPos(this); DragManager.MouseOffset = [coords.x - pos[0], coords.y - pos[1]]; DragManager.DragObject = this; DragManager.LastDragObject = this; DragManager.DragObject.style.position = 'absolute'; - startCallback(Object); + DragManager.Options = cur_options; + startCallback(drag_object); } document.onmousemove = function(ev){ ev = ev || window.event; var coords = DragManager.mouseCoords(ev); // window.status = 'mouse at: '+coords.x+','+coords.y; if(DragManager.DragObject){ -// DragManager.DragObject.style.top = (coords.y - DragManager.MouseOffset[1] ) + 'px' // ; - DragManager.DragObject.style.left = (coords.x - DragManager.MouseOffset[0] ) + 'px' // ; - - moveCallback(Object, coords) + if (DragManager.Options.VerticalDrag) { + DragManager.DragObject.style.top = (coords.y - DragManager.MouseOffset[1] ) + 'px' // ; + } + if (DragManager.Options.HorizontalDrag) { + DragManager.DragObject.style.left = (coords.x - DragManager.MouseOffset[0] ) + 'px' // ; + } + moveCallback(drag_object, coords) return false; } }