Skip to content
Permalink
Browse files

Sortable: Support hash, array, string for cursorAt option. Partial fi…

…x for #2525 - Standardised way to pass coordinates to plugins.
  • Loading branch information
scottgonzalez committed Aug 3, 2009
1 parent ec4d469 commit 61e06a0e1362018a41925a62ea69e3734e527c40
Showing with 19 additions and 6 deletions.
  1. +19 −6 ui/ui.sortable.js
@@ -132,8 +132,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
this.originalPageY = event.pageY;

//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
if(o.cursorAt)
this._adjustOffsetFromHelper(o.cursorAt);
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));

//Cache the former DOM position
this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
@@ -724,10 +723,24 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
},

_adjustOffsetFromHelper: function(obj) {
if(obj.left != undefined) this.offset.click.left = obj.left + this.margins.left;
if(obj.right != undefined) this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
if(obj.top != undefined) this.offset.click.top = obj.top + this.margins.top;
if(obj.bottom != undefined) this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
if (typeof obj == 'string') {
obj = obj.split(' ');
}
if ($.isArray(obj)) {
obj = {left: +obj[0], top: +obj[1] || 0};
}
if ('left' in obj) {
this.offset.click.left = obj.left + this.margins.left;
}
if ('right' in obj) {
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
}
if ('top' in obj) {
this.offset.click.top = obj.top + this.margins.top;
}
if ('bottom' in obj) {
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
}
},

_getParentOffset: function() {

0 comments on commit 61e06a0

Please sign in to comment.
You can’t perform that action at this time.