Sortable minor intersectWidth maths accuracy

This commit is contained in:
Eduardo Lundgren 2008-07-09 19:34:11 +00:00
parent 4e06fa6304
commit d1eaa41e7f

View File

@ -86,21 +86,18 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
}, },
/* Be careful with the following core functions */ /* Be careful with the following core functions */
intersectsWith: function(item) { intersectsWith: function(item) {
var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width,
y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height;
var l = item.left, r = l + item.width, var l = item.left, r = l + item.width,
t = item.top, b = t + item.height; t = item.top, b = t + item.height;
if(this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { if (this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) {
return (y1 + this.offset.click.top > t && y1 + this.offset.click.top < b && x1 + this.offset.click.left > l && x1 + this.offset.click.left < r); return (y1 + this.offset.click.top > t && y1 + this.offset.click.top < b && x1 + this.offset.click.left > l && x1 + this.offset.click.left < r);
} else { } else {
return (l < x1 + (this.helperProportions.width / 2) // Right Half return (l < x1 + (this.helperProportions.width / 2) // Right Half
&& x2 - (this.helperProportions.width / 2) < r // Left Half && x2 - (this.helperProportions.width / 2) < r // Left Half
&& t < y1 + (this.helperProportions.height / 2) // Bottom Half && t < y1 + (this.helperProportions.height / 2) // Bottom Half
&& y2 - (this.helperProportions.height / 2) < b ); // Top Half && y2 - (this.helperProportions.height / 2) < b ); // Top Half
} }
}, },
@ -118,8 +115,8 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
if(x1 + this.offset.click.left > l && x1 + this.offset.click.left < l + item.width/2) return 2; if(x1 + this.offset.click.left > l && x1 + this.offset.click.left < l + item.width/2) return 2;
if(x1 + this.offset.click.left > l+item.width/2 && x1 + this.offset.click.left < r) return 1; if(x1 + this.offset.click.left > l+item.width/2 && x1 + this.offset.click.left < r) return 1;
} else { } else {
if(y1 + this.offset.click.top > t && y1 + this.offset.click.top < t + item.height/2) return 2; if(y1 + this.offset.click.top > t && y1 + this.offset.click.top < t) return 2;
if(y1 + this.offset.click.top > t+item.height/2 && y1 + this.offset.click.top < b) return 1; if(y1 + this.offset.click.top > t && y1 + this.offset.click.top < b) return 1;
} }
} else { } else {