mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Sortable: Whitespace.
This commit is contained in:
parent
a0fb2c227e
commit
d0cac09027
78
ui/jquery.ui.sortable.js
vendored
78
ui/jquery.ui.sortable.js
vendored
@ -59,7 +59,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
//Initialize mouse events for interaction
|
||||
this._mouseInit();
|
||||
|
||||
|
||||
//We're ready to go
|
||||
this.ready = true
|
||||
|
||||
@ -79,7 +79,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
_setOption: function(key, value){
|
||||
if ( key === "disabled" ) {
|
||||
this.options[ key ] = value;
|
||||
|
||||
|
||||
this.widget().toggleClass( "ui-sortable-disabled", !!value );
|
||||
} else {
|
||||
// Don't call widget base _setOption for disable as it adds ui-state-disabled class
|
||||
@ -519,7 +519,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
? [options.connectWith]
|
||||
: options.connectWith;
|
||||
},
|
||||
|
||||
|
||||
_getItemsAsjQuery: function(connected) {
|
||||
|
||||
var self = this;
|
||||
@ -692,28 +692,28 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
},
|
||||
|
||||
_contactContainers: function(event) {
|
||||
|
||||
// get innermost container that intersects with item
|
||||
var innermostContainer = null, innermostIndex = null;
|
||||
|
||||
|
||||
|
||||
// get innermost container that intersects with item
|
||||
var innermostContainer = null, innermostIndex = null;
|
||||
|
||||
|
||||
for (var i = this.containers.length - 1; i >= 0; i--){
|
||||
|
||||
// never consider a container that's located within the item itself
|
||||
// never consider a container that's located within the item itself
|
||||
if($.contains(this.currentItem[0], this.containers[i].element[0]))
|
||||
continue;
|
||||
|
||||
if(this._intersectsWith(this.containers[i].containerCache)) {
|
||||
|
||||
// if we've already found a container and it's more "inner" than this, then continue
|
||||
// if we've already found a container and it's more "inner" than this, then continue
|
||||
if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0]))
|
||||
continue;
|
||||
|
||||
innermostContainer = this.containers[i];
|
||||
innermostContainer = this.containers[i];
|
||||
innermostIndex = i;
|
||||
|
||||
|
||||
} else {
|
||||
// container doesn't intersect. trigger "out" event if necessary
|
||||
// container doesn't intersect. trigger "out" event if necessary
|
||||
if(this.containers[i].containerCache.over) {
|
||||
this.containers[i]._trigger("out", event, this._uiHash(this));
|
||||
this.containers[i].containerCache.over = 0;
|
||||
@ -721,42 +721,42 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if no intersecting containers found, return
|
||||
if(!innermostContainer) return;
|
||||
|
||||
// if no intersecting containers found, return
|
||||
if(!innermostContainer) return;
|
||||
|
||||
// move the item into the container if it's not there already
|
||||
if(this.containers.length === 1) {
|
||||
this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
|
||||
this.containers[innermostIndex].containerCache.over = 1;
|
||||
} else if(this.currentContainer != this.containers[innermostIndex]) {
|
||||
} else if(this.currentContainer != this.containers[innermostIndex]) {
|
||||
|
||||
//When entering a new container, we will find the item with the least distance and append our item near it
|
||||
var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top'];
|
||||
for (var j = this.items.length - 1; j >= 0; j--) {
|
||||
if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue;
|
||||
var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top'];
|
||||
if(Math.abs(cur - base) < dist) {
|
||||
dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
|
||||
}
|
||||
}
|
||||
//When entering a new container, we will find the item with the least distance and append our item near it
|
||||
var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top'];
|
||||
for (var j = this.items.length - 1; j >= 0; j--) {
|
||||
if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue;
|
||||
var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top'];
|
||||
if(Math.abs(cur - base) < dist) {
|
||||
dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
|
||||
}
|
||||
}
|
||||
|
||||
if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled
|
||||
return;
|
||||
if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled
|
||||
return;
|
||||
|
||||
this.currentContainer = this.containers[innermostIndex];
|
||||
itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
|
||||
this._trigger("change", event, this._uiHash());
|
||||
this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
|
||||
this.currentContainer = this.containers[innermostIndex];
|
||||
itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
|
||||
this._trigger("change", event, this._uiHash());
|
||||
this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
|
||||
|
||||
//Update the placeholder
|
||||
this.options.placeholder.update(this.currentContainer, this.placeholder);
|
||||
|
||||
this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
|
||||
//Update the placeholder
|
||||
this.options.placeholder.update(this.currentContainer, this.placeholder);
|
||||
|
||||
this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
|
||||
this.containers[innermostIndex].containerCache.over = 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
_createHelper: function(event) {
|
||||
|
Loading…
Reference in New Issue
Block a user