Index: branches/RC/core/admin_templates/js/ajax_dropdown.js =================================================================== diff -u -r9277 -r9299 --- branches/RC/core/admin_templates/js/ajax_dropdown.js (.../ajax_dropdown.js) (revision 9277) +++ branches/RC/core/admin_templates/js/ajax_dropdown.js (.../ajax_dropdown.js) (revision 9299) @@ -128,11 +128,11 @@ if (!this.BoxOpen) break; this.SelectNext(); break; - case 27: //arrow down + case 27: //Enter this.Input.value = this.OriginalValue; this.CloseBox(); break; - case 13: //arrow down + case 13: //Escape this.CloseBox(); break; default: 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; } } Index: branches/RC/core/admin_templates/js/grid_scroller.js =================================================================== diff -u -r9275 -r9299 --- branches/RC/core/admin_templates/js/grid_scroller.js (.../grid_scroller.js) (revision 9275) +++ branches/RC/core/admin_templates/js/grid_scroller.js (.../grid_scroller.js) (revision 9299) @@ -559,7 +559,8 @@ scroller.ScrollResizeHandles(); DragManager.InitialPos = [coords[0] - DragManager.MouseOffset[0], coords[1] - DragManager.MouseOffset[1]]; - } + }, + {VerticalDrag: false} ) } } @@ -1051,4 +1052,11 @@ GridScroller.prototype.SetFooter = function(a_footer) { this.Footer = a_footer; +} + +GridScroller.prototype.SaveWidths = function(prefix, url) +{ + var w = this.MinWidths.join(':'); + Request.makeRequest(url.replace('#WIDTHS#', w), this.BusyRequest, '', this.successCallback, this.errorCallback, '', this); + } \ No newline at end of file