diff --git a/tests/unit/sortable/common.js b/tests/unit/sortable/common.js
index a28c2511a..dd22c0433 100644
--- a/tests/unit/sortable/common.js
+++ b/tests/unit/sortable/common.js
@@ -48,6 +48,6 @@ common.testWidget( "sortable", {
stop: null,
update: null
}
-});
+} );
} );
diff --git a/tests/unit/sortable/core.js b/tests/unit/sortable/core.js
index 68f275604..d12416f09 100644
--- a/tests/unit/sortable/core.js
+++ b/tests/unit/sortable/core.js
@@ -9,12 +9,12 @@ module( "sortable: core" );
test( "#9314: Sortable: Items cannot be dragged directly into bottom position", function() {
expect( 1 );
- var el = $( ".connectWith" ).sortable({
+ var el = $( ".connectWith" ).sortable( {
connectWith: ".connectWith"
- });
+ } );
testHelper.sort( $( "li", el[ 1 ] )[ 0 ], 0, -12, 5, "Dragging the sortable into connected sortable" );
-});
+} );
test( "ui-sortable-handle applied to appropriate element", function( assert ) {
expect( 8 );
@@ -37,6 +37,6 @@ test( "ui-sortable-handle applied to appropriate element", function( assert ) {
el.sortable( "destroy" );
equal( el.find( ".ui-sortable-handle" ).length, 0, "class name removed on destroy" );
-});
+} );
} );
diff --git a/tests/unit/sortable/events.js b/tests/unit/sortable/events.js
index 74f10dfeb..d2416fbc4 100644
--- a/tests/unit/sortable/events.js
+++ b/tests/unit/sortable/events.js
@@ -5,223 +5,223 @@ define( [
"ui/widgets/draggable"
], function( $, testHelper ) {
-module("sortable: events");
+module( "sortable: events" );
-test("start", function() {
+test( "start", function() {
expect( 7 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
start: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 10
- });
+ } );
- ok(hash, "start event triggered");
- ok(hash.helper, "UI hash includes: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "start event triggered" );
+ ok( hash.helper, "UI hash includes: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
// Todo: see if these events should actually have sane values in them
- ok("position" in hash, "UI hash includes: position");
- ok("offset" in hash, "UI hash includes: offset");
-});
+ ok( "position" in hash, "UI hash includes: position" );
+ ok( "offset" in hash, "UI hash includes: offset" );
+} );
-test("sort", function() {
+test( "sort", function() {
expect( 7 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
sort: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 10
- });
+ } );
- ok(hash, "sort event triggered");
- ok(hash.helper, "UI hash includes: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
- ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "sort event triggered" );
+ ok( hash.helper, "UI hash includes: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+ ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
-});
+} );
-test("change", function() {
+test( "change", function() {
expect( 8 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
change: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dx: 1,
dy: 1
- });
+ } );
- ok(!hash, "1px drag, change event should not be triggered");
+ ok( !hash, "1px drag, change event should not be triggered" );
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
change: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 22
- });
+ } );
- ok(hash, "change event triggered");
- ok(hash.helper, "UI hash includes: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
- ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "change event triggered" );
+ ok( hash.helper, "UI hash includes: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+ ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
-});
+} );
-test("beforeStop", function() {
+test( "beforeStop", function() {
expect( 7 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
beforeStop: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 20
- });
+ } );
- ok(hash, "beforeStop event triggered");
- ok(hash.helper, "UI hash includes: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
- ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "beforeStop event triggered" );
+ ok( hash.helper, "UI hash includes: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+ ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
-});
+} );
-test("stop", function() {
+test( "stop", function() {
expect( 7 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
stop: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 20
- });
+ } );
- ok(hash, "stop event triggered");
- ok(!hash.helper, "UI should not include: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
- ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "stop event triggered" );
+ ok( !hash.helper, "UI should not include: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+ ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
-});
+} );
-test("update", function() {
+test( "update", function() {
expect( 8 );
var hash;
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
update: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dx: 1,
dy: 1
- });
+ } );
- ok(!hash, "1px drag, update event should not be triggered");
+ ok( !hash, "1px drag, update event should not be triggered" );
- $("#sortable").sortable({
+ $( "#sortable" ).sortable( {
update: function( e, ui ) {
hash = ui;
}
- }).find("li:eq(0)").simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 22
- });
+ } );
- ok(hash, "update event triggered");
- ok(!hash.helper, "UI hash should not include: helper");
- ok(hash.placeholder, "UI hash includes: placeholder");
- ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
- ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
- ok(hash.item, "UI hash includes: item");
- ok(!hash.sender, "UI hash does not include: sender");
+ ok( hash, "update event triggered" );
+ ok( !hash.helper, "UI hash should not include: helper" );
+ ok( hash.placeholder, "UI hash includes: placeholder" );
+ ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+ ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+ ok( hash.item, "UI hash includes: item" );
+ ok( !hash.sender, "UI hash does not include: sender" );
-});
+} );
-test("#3019: Stop fires too early", function() {
- expect(2);
+test( "#3019: Stop fires too early", function() {
+ expect( 2 );
var helper = null,
- el = $("#sortable").sortable({
- stop: function(event, ui) {
+ el = $( "#sortable" ).sortable( {
+ stop: function( event, ui ) {
helper = ui.helper;
}
- });
+ } );
- testHelper.sort($("li", el)[0], 0, 44, 2, "Dragging the sortable");
- equal(helper, null, "helper should be false");
+ testHelper.sort( $( "li", el )[ 0 ], 0, 44, 2, "Dragging the sortable" );
+ equal( helper, null, "helper should be false" );
-});
+} );
-test("#4752: link event firing on sortable with connect list", function () {
+test( "#4752: link event firing on sortable with connect list", function() {
expect( 10 );
var fired = {},
- hasFired = function (type) { return (type in fired) && (true === fired[type]); };
+ hasFired = function( type ) { return ( type in fired ) && ( true === fired[ type ] ); };
- $("#sortable").clone().attr("id", "sortable2").insertAfter("#sortable");
+ $( "#sortable" ).clone().attr( "id", "sortable2" ).insertAfter( "#sortable" );
- $("#qunit-fixture ul").sortable({
+ $( "#qunit-fixture ul" ).sortable( {
connectWith: "#qunit-fixture ul",
- change: function () {
+ change: function() {
fired.change = true;
},
- receive: function () {
+ receive: function() {
fired.receive = true;
},
- remove: function () {
+ remove: function() {
fired.remove = true;
}
- });
+ } );
- $("#qunit-fixture ul").on("click.ui-sortable-test", function () {
+ $( "#qunit-fixture ul" ).on( "click.ui-sortable-test", function() {
fired.click = true;
- });
+ } );
- $("#sortable li:eq(0)").simulate("click");
- ok(!hasFired("change"), "Click only, change event should not have fired");
- ok(hasFired("click"), "Click event should have fired");
+ $( "#sortable li:eq(0)" ).simulate( "click" );
+ ok( !hasFired( "change" ), "Click only, change event should not have fired" );
+ ok( hasFired( "click" ), "Click event should have fired" );
// Drag an item within the first list
fired = {};
- $("#sortable li:eq(0)").simulate("drag", { dx: 0, dy: 40 });
- ok(hasFired("change"), "40px drag, change event should have fired");
- ok(!hasFired("receive"), "Receive event should not have fired");
- ok(!hasFired("remove"), "Remove event should not have fired");
- ok(!hasFired("click"), "Click event should not have fired");
+ $( "#sortable li:eq(0)" ).simulate( "drag", { dx: 0, dy: 40 } );
+ ok( hasFired( "change" ), "40px drag, change event should have fired" );
+ ok( !hasFired( "receive" ), "Receive event should not have fired" );
+ ok( !hasFired( "remove" ), "Remove event should not have fired" );
+ ok( !hasFired( "click" ), "Click event should not have fired" );
// Drag an item from the first list to the second, connected list
fired = {};
- $("#sortable li:eq(0)").simulate("drag", { dx: 0, dy: 150 });
- ok(hasFired("change"), "150px drag, change event should have fired");
- ok(hasFired("receive"), "Receive event should have fired");
- ok(hasFired("remove"), "Remove event should have fired");
- ok(!hasFired("click"), "Click event should not have fired");
-});
+ $( "#sortable li:eq(0)" ).simulate( "drag", { dx: 0, dy: 150 } );
+ ok( hasFired( "change" ), "150px drag, change event should have fired" );
+ ok( hasFired( "receive" ), "Receive event should have fired" );
+ ok( hasFired( "remove" ), "Remove event should have fired" );
+ ok( !hasFired( "click" ), "Click event should not have fired" );
+} );
/*
test("receive", function() {
@@ -239,14 +239,14 @@ test( "over", function() {
var hash,
overCount = 0;
- $( "#sortable" ).sortable({
+ $( "#sortable" ).sortable( {
over: function( e, ui ) {
hash = ui;
overCount++;
}
- }).find( "li:eq(0)" ).simulate( "drag", {
+ } ).find( "li:eq(0)" ).simulate( "drag", {
dy: 20
- });
+ } );
ok( hash, "over event triggered" );
ok( hash.helper, "UI includes: helper" );
@@ -256,7 +256,7 @@ test( "over", function() {
ok( hash.item, "UI hash includes: item" );
ok( hash.sender, "UI hash includes: sender" );
equal( overCount, 1, "over fires only once" );
-});
+} );
// http://bugs.jqueryui.com/ticket/9335
// Sortable: over & out events does not consistently fire
@@ -267,25 +267,25 @@ test( "over, fires with draggable connected to sortable", function() {
overCount = 0,
item = $( "
" ).text( "6" ).insertAfter( "#sortable" );
- item.draggable({
+ item.draggable( {
connectToSortable: "#sortable"
- });
- $( ".connectWith" ).sortable({
+ } );
+ $( ".connectWith" ).sortable( {
connectWith: ".connectWith",
over: function( event, ui ) {
hash = ui;
overCount++;
}
- });
+ } );
item.simulate( "drag", {
dy: -20
- });
+ } );
ok( hash, "over event triggered" );
ok( !hash.sender, "UI should not include: sender" );
equal( overCount, 1, "over fires only once" );
-});
+} );
test( "over, with connected sortable", function() {
expect( 3 );
@@ -293,21 +293,21 @@ test( "over, with connected sortable", function() {
var hash,
overCount = 0;
- $( ".connectWith" ).sortable({
+ $( ".connectWith" ).sortable( {
connectWith: ".connectWith"
- });
+ } );
$( "#sortable2" ).on( "sortover", function( event, ui ) {
hash = ui;
overCount++;
- });
+ } );
$( "#sortable" ).find( "li:eq(0)" ).simulate( "drag", {
dy: 102
- });
+ } );
ok( hash, "over event triggered" );
- equal( hash.sender[ 0 ], $(" #sortable" )[ 0 ], "UI includes: sender" );
+ equal( hash.sender[ 0 ], $( " #sortable" )[ 0 ], "UI includes: sender" );
equal( overCount, 1, "over fires only once" );
-});
+} );
/*
test("out", function() {
@@ -321,20 +321,20 @@ test( "out, with connected sortable", function() {
var hash,
outCount = 0;
- $( ".connectWith" ).sortable({
+ $( ".connectWith" ).sortable( {
connectWith: ".connectWith"
- });
+ } );
$( "#sortable" ).on( "sortout", function( event, ui ) {
hash = ui;
outCount++;
- });
+ } );
$( "#sortable" ).find( "li:last" ).simulate( "drag", {
dy: 40
- });
+ } );
ok( hash, "out event triggered" );
equal( outCount, 1, "out fires only once" );
-});
+} );
test( "repeated out & over between connected sortables", function() {
expect( 2 );
@@ -342,28 +342,29 @@ test( "repeated out & over between connected sortables", function() {
var outCount = 0,
overCount = 0;
- $( ".connectWith" ).sortable({
+ $( ".connectWith" ).sortable( {
connectWith: ".connectWith",
over: function() {
overCount++;
},
out: function( event, ui ) {
+
// Ignore events that trigger when an item has dropped
// checking for the presence of the helper.
if ( !ui.helper ) {
outCount++;
}
}
- });
+ } );
$( "#sortable" ).find( "li:last" ).simulate( "drag", {
dy: 40
- }).simulate( "drag", {
+ } ).simulate( "drag", {
dy: -40
- });
+ } );
equal( outCount, 2, "out fires twice" );
equal( overCount, 4, "over fires four times" );
-});
+} );
/*
test("activate", function() {
diff --git a/tests/unit/sortable/helper.js b/tests/unit/sortable/helper.js
index 76545022e..c1c0b6e74 100644
--- a/tests/unit/sortable/helper.js
+++ b/tests/unit/sortable/helper.js
@@ -8,7 +8,7 @@ return $.extend( helper, {
$( handle ).simulate( "drag", {
dx: dx,
dy: dy
- });
+ } );
equal( $( handle ).parent().children().index( handle ), index, msg );
}
} );
diff --git a/tests/unit/sortable/methods.js b/tests/unit/sortable/methods.js
index f58ac052d..1d2fda8ff 100644
--- a/tests/unit/sortable/methods.js
+++ b/tests/unit/sortable/methods.js
@@ -4,72 +4,72 @@ define( [
"ui/widgets/sortable"
], function( $, testHelper ) {
-module("sortable: methods");
+module( "sortable: methods" );
-test("init", function() {
- expect(5);
+test( "init", function() {
+ expect( 5 );
- $("").appendTo("body").sortable().remove();
- ok(true, ".sortable() called on element");
+ $( "" ).appendTo( "body" ).sortable().remove();
+ ok( true, ".sortable() called on element" );
- $([]).sortable();
- ok(true, ".sortable() called on empty collection");
+ $( [] ).sortable();
+ ok( true, ".sortable() called on empty collection" );
- $("").sortable();
- ok(true, ".sortable() called on disconnected DOMElement");
+ $( "" ).sortable();
+ ok( true, ".sortable() called on disconnected DOMElement" );
- $("").sortable().sortable("option", "foo");
- ok(true, "arbitrary option getter after init");
+ $( "" ).sortable().sortable( "option", "foo" );
+ ok( true, "arbitrary option getter after init" );
- $("").sortable().sortable("option", "foo", "bar");
- ok(true, "arbitrary option setter after init");
-});
+ $( "" ).sortable().sortable( "option", "foo", "bar" );
+ ok( true, "arbitrary option setter after init" );
+} );
-test("destroy", function() {
- expect(4);
- $("").appendTo("body").sortable().sortable("destroy").remove();
- ok(true, ".sortable('destroy') called on element");
+test( "destroy", function() {
+ expect( 4 );
+ $( "" ).appendTo( "body" ).sortable().sortable( "destroy" ).remove();
+ ok( true, ".sortable('destroy') called on element" );
- $([]).sortable().sortable("destroy");
- ok(true, ".sortable('destroy') called on empty collection");
+ $( [] ).sortable().sortable( "destroy" );
+ ok( true, ".sortable('destroy') called on empty collection" );
- $("").sortable().sortable("destroy");
- ok(true, ".sortable('destroy') called on disconnected DOMElement");
+ $( "" ).sortable().sortable( "destroy" );
+ ok( true, ".sortable('destroy') called on disconnected DOMElement" );
- var expected = $("").sortable(),
- actual = expected.sortable("destroy");
- equal(actual, expected, "destroy is chainable");
-});
+ var expected = $( "" ).sortable(),
+ actual = expected.sortable( "destroy" );
+ equal( actual, expected, "destroy is chainable" );
+} );
-test("enable", function() {
- expect(5);
+test( "enable", function() {
+ expect( 5 );
var el, actual, expected;
- el = $("#sortable").sortable({ disabled: true });
+ el = $( "#sortable" ).sortable( { disabled: true } );
- testHelper.sort($("li", el)[0], 0, 44, 0, ".sortable({ disabled: true })");
+ testHelper.sort( $( "li", el )[ 0 ], 0, 44, 0, ".sortable({ disabled: true })" );
- el.sortable("enable");
- equal(el.sortable("option", "disabled"), false, "disabled option getter");
+ el.sortable( "enable" );
+ equal( el.sortable( "option", "disabled" ), false, "disabled option getter" );
- el.sortable("destroy");
- el.sortable({ disabled: true });
- el.sortable("option", "disabled", false);
- equal(el.sortable("option", "disabled"), false, "disabled option setter");
+ el.sortable( "destroy" );
+ el.sortable( { disabled: true } );
+ el.sortable( "option", "disabled", false );
+ equal( el.sortable( "option", "disabled" ), false, "disabled option setter" );
- testHelper.sort($("li", el)[0], 0, 44, 2, ".sortable('option', 'disabled', false)");
+ testHelper.sort( $( "li", el )[ 0 ], 0, 44, 2, ".sortable('option', 'disabled', false)" );
- expected = $("").sortable(),
- actual = expected.sortable("enable");
- equal(actual, expected, "enable is chainable");
-});
+ expected = $( "" ).sortable(),
+ actual = expected.sortable( "enable" );
+ equal( actual, expected, "enable is chainable" );
+} );
test( "disable", function( assert ) {
expect( 9 );
var chainable,
- element = $( "#sortable" ).sortable({ disabled: false });
+ element = $( "#sortable" ).sortable( { disabled: false } );
testHelper.sort( $( "li", element )[ 0 ], 0, 44, 2, ".sortable({ disabled: false })" );
@@ -78,18 +78,18 @@ test( "disable", function( assert ) {
element.sortable( "destroy" );
- element.sortable({ disabled: false });
+ element.sortable( { disabled: false } );
testHelper.sort( $( "li", element )[ 0 ], 0, 44, 2, ".sortable({ disabled: false })" );
- element.sortable( "option", "disabled", true);
+ element.sortable( "option", "disabled", true );
equal( element.sortable( "option", "disabled" ), true, "disabled option setter" );
assert.lacksClasses( element.sortable( "widget" ), "ui-state-disabled" );
ok( !element.sortable( "widget" ).attr( "aria-disabled" ), "element does not get aria-disabled" );
assert.hasClasses( element.sortable( "widget" ), "ui-sortable-disabled" );
- testHelper.sort($( "li", element )[ 0 ], 0, 44, 0, ".sortable('option', 'disabled', true)" );
+ testHelper.sort( $( "li", element )[ 0 ], 0, 44, 0, ".sortable('option', 'disabled', true)" );
equal( chainable, element, "disable is chainable" );
-});
+} );
test( "refresh() should update the positions of initially empty lists (see #7498)", function() {
expect( 1 );
@@ -98,22 +98,22 @@ test( "refresh() should update the positions of initially empty lists (see #7498
element = $( "#qunit-fixture" ).html( "" ).find( "ul" );
element
- .css({
+ .css( {
"float": "left",
width: "100px"
- })
- .sortable({
+ } )
+ .sortable( {
change: function() {
changeCount++;
}
- })
+ } )
.append( "aa" )
.find( "li" )
- .css({
+ .css( {
"float": "left",
width: "50px",
height: "50px"
- });
+ } );
element.sortable( "refresh" );
@@ -121,9 +121,9 @@ test( "refresh() should update the positions of initially empty lists (see #7498
element.find( "li" ).eq( 0 ).simulate( "drag", {
dx: 55,
moves: 15
- });
+ } );
equal( changeCount, 1 );
-});
+} );
} );
diff --git a/tests/unit/sortable/options.js b/tests/unit/sortable/options.js
index 5d24a3606..cdb932af3 100644
--- a/tests/unit/sortable/options.js
+++ b/tests/unit/sortable/options.js
@@ -3,7 +3,7 @@ define( [
"ui/widgets/sortable"
], function( $ ) {
-module("sortable: options");
+module( "sortable: options" );
/*
test("{ appendTo: 'parent' }, default", function() {
@@ -19,14 +19,14 @@ test( "{ axis: false }, default", function() {
expect( 2 );
var offsetAfter,
- element = $( "#sortable" ).sortable({
+ element = $( "#sortable" ).sortable( {
axis: false,
change: function() {
offsetAfter = item.offset();
notEqual( offsetAfter.left, offsetBefore.left, "x axis not constrained when axis: false" );
notEqual( offsetAfter.top, offsetBefore.top, "y axis not constrained when axis: false" );
}
- }),
+ } ),
item = element.find( "li" ).eq( 0 ),
offsetBefore = item.offset();
@@ -34,21 +34,21 @@ test( "{ axis: false }, default", function() {
dx: 50,
dy: 25,
moves: 1
- });
-});
+ } );
+} );
test( "{ axis: 'x' }", function() {
expect( 2 );
var offsetAfter,
- element = $( "#sortable" ).sortable({
+ element = $( "#sortable" ).sortable( {
axis: "x",
change: function() {
offsetAfter = item.offset();
notEqual( offsetAfter.left, offsetBefore.left, "x axis not constrained when axis: x" );
equal( offsetAfter.top, offsetBefore.top, "y axis constrained when axis: x" );
}
- }),
+ } ),
item = element.find( "li" ).eq( 0 ),
offsetBefore = item.offset();
@@ -56,21 +56,21 @@ test( "{ axis: 'x' }", function() {
dx: 50,
dy: 25,
moves: 1
- });
-});
+ } );
+} );
test( "{ axis: 'y' }", function() {
expect( 2 );
var offsetAfter,
- element = $( "#sortable" ).sortable({
+ element = $( "#sortable" ).sortable( {
axis: "y",
change: function() {
offsetAfter = item.offset();
equal( offsetAfter.left, offsetBefore.left, "x axis constrained when axis: y" );
notEqual( offsetAfter.top, offsetBefore.top, "y axis not constrained when axis: y" );
}
- }),
+ } ),
item = element.find( "li" ).eq( 0 ),
offsetBefore = item.offset();
@@ -78,33 +78,33 @@ test( "{ axis: 'y' }", function() {
dx: 50,
dy: 25,
moves: 1
- });
-});
+ } );
+} );
asyncTest( "#7415: Incorrect revert animation with axis: 'y'", function() {
expect( 2 );
var expectedLeft,
- element = $( "#sortable" ).sortable({
+ element = $( "#sortable" ).sortable( {
axis: "y",
revert: true,
stop: start,
sort: function() {
expectedLeft = item.css( "left" );
}
- }),
+ } ),
item = element.find( "li" ).eq( 0 );
item.simulate( "drag", {
dy: 300,
dx: 50
- });
+ } );
- setTimeout(function() {
+ setTimeout( function() {
var top = parseFloat( item.css( "top" ) );
equal( item.css( "left" ), expectedLeft, "left not animated" );
ok( top > 0 && top < 300, "top is animated" );
}, 100 );
-});
+} );
/*
test("{ cancel: 'input,textarea,button,select,option' }, default", function() {
@@ -124,15 +124,15 @@ test( "#8792: issues with floated items in connected lists", function() {
$( "#qunit-fixture" )
.html( "" )
- .find( "ul" ).css({ "float": "left", width: "100px" }).end()
- .find( "li" ).css({ "float": "left", width: "50px", height: "50px" });
+ .find( "ul" ).css( { "float": "left", width: "100px" } ).end()
+ .find( "li" ).css( { "float": "left", width: "50px", height: "50px" } );
- $( "#qunit-fixture .c" ).sortable({
+ $( "#qunit-fixture .c" ).sortable( {
connectWith: "#qunit-fixture .c",
change: function() {
changeCount++;
}
- });
+ } );
element = $( "#qunit-fixture li:eq(0)" );
@@ -140,7 +140,7 @@ test( "#8792: issues with floated items in connected lists", function() {
element.simulate( "drag", {
dx: 55,
moves: 15
- });
+ } );
equal( changeCount, 1, "change fired only once (no jitters) when dragging a floated sortable in it's own container" );
@@ -149,37 +149,37 @@ test( "#8792: issues with floated items in connected lists", function() {
element.simulate( "drag", {
dx: 100,
moves: 15
- });
+ } );
equal( changeCount, 3, "change fired once for each expected change when dragging a floated sortable to a connected container" );
-});
+} );
test( "#8301: single axis with connected list", function() {
expect( 1 );
- var element = $( "#sortable" ).sortable({
+ var element = $( "#sortable" ).sortable( {
axis: "y",
tolerance: "pointer",
connectWith: ".connected"
- });
+ } );
$( "" )
- .sortable({
+ .sortable( {
axis: "y",
tolerance: "pointer",
connectWith: "#sortable",
receive: function() {
ok( true, "connected list received item" );
}
- })
+ } )
.insertAfter( element );
element.find( "li" ).eq( 0 ).simulate( "drag", {
handle: "corner",
dy: 120,
moves: 1
- });
-});
+ } );
+} );
/*
test("{ connectWith: false }, default", function() {
@@ -330,44 +330,44 @@ test("{ placeholder: false }, default", function() {
test( "{ placeholder: false } img", function() {
expect( 3 );
- var element = $( "#sortable-images" ).sortable({
+ var element = $( "#sortable-images" ).sortable( {
start: function( event, ui ) {
ok( ui.placeholder.attr( "src" ).indexOf( "images/jqueryui_32x32.png" ) > 0, "placeholder img has correct src" );
equal( ui.placeholder.height(), 32, "placeholder has correct height" );
equal( ui.placeholder.width(), 32, "placeholder has correct width" );
}
- });
+ } );
element.find( "img" ).eq( 0 ).simulate( "drag", {
dy: 1
- });
-});
+ } );
+} );
test( "{ placeholder: String }", function( assert ) {
expect( 1 );
- var element = $( "#sortable" ).sortable({
+ var element = $( "#sortable" ).sortable( {
placeholder: "test",
start: function( event, ui ) {
assert.hasClasses( ui.placeholder, "test" );
}
- });
+ } );
element.find( "li" ).eq( 0 ).simulate( "drag", {
dy: 1
- });
-});
+ } );
+} );
test( "{ placholder: String } tr", function( assert ) {
expect( 4 );
var originalWidths,
- element = $( "#sortable-table tbody" ).sortable({
+ element = $( "#sortable-table tbody" ).sortable( {
placeholder: "test",
start: function( event, ui ) {
- var currentWidths = otherRow.children().map(function() {
+ var currentWidths = otherRow.children().map( function() {
return $( this ).width();
- }).get();
+ } ).get();
assert.hasClasses( ui.placeholder, "test" );
deepEqual( currentWidths, originalWidths, "table cells maintian size" );
equal( ui.placeholder.children().length, dragRow.children().length,
@@ -375,29 +375,29 @@ test( "{ placholder: String } tr", function( assert ) {
equal( ui.placeholder.children().html(), $( " " ).html(),
"placeholder td has content for forced dimensions" );
}
- }),
+ } ),
rows = element.children( "tr" ),
dragRow = rows.eq( 0 ),
otherRow = rows.eq( 1 );
- originalWidths = otherRow.children().map(function() {
+ originalWidths = otherRow.children().map( function() {
return $( this ).width();
- }).get();
+ } ).get();
dragRow.simulate( "drag", {
dy: 1
- });
-});
+ } );
+} );
test( "{ placholder: String } tbody", function() {
expect( 6 );
var originalWidths,
- element = $( "#sortable-table" ).sortable({
+ element = $( "#sortable-table" ).sortable( {
placeholder: "test",
start: function( event, ui ) {
- var currentWidths = otherBody.children().map(function() {
+ var currentWidths = otherBody.children().map( function() {
return $( this ).width();
- }).get();
+ } ).get();
ok( ui.placeholder.hasClass( "test" ), "placeholder has class" );
deepEqual( currentWidths, originalWidths, "table cells maintain size" );
equal( ui.placeholder.children().length, 1,
@@ -411,18 +411,18 @@ test( "{ placholder: String } tbody", function() {
$( " " ).html(),
"placeholder td has content for forced dimensions" );
}
- }),
+ } ),
bodies = element.children( "tbody" ),
dragBody = bodies.eq( 0 ),
otherBody = bodies.eq( 1 );
- originalWidths = otherBody.children().map(function() {
+ originalWidths = otherBody.children().map( function() {
return $( this ).width();
- }).get();
+ } ).get();
dragBody.simulate( "drag", {
dy: 1
- });
-});
+ } );
+} );
/*
test("{ revert: false }, default", function() {
diff --git a/ui/widgets/sortable.js b/ui/widgets/sortable.js
index bea58defd..423bb81f8 100644
--- a/ui/widgets/sortable.js
+++ b/ui/widgets/sortable.js
@@ -14,11 +14,11 @@
//>>demos: http://jqueryui.com/sortable/
//>>css.structure: ../themes/base/sortable.css
-(function( factory ) {
+( function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
- define([
+ define( [
"jquery",
"./mouse",
"../data",
@@ -32,9 +32,9 @@
// Browser globals
factory( jQuery );
}
-}(function( $ ) {
+}( function( $ ) {
-return $.widget("ui.sortable", $.ui.mouse, {
+return $.widget( "ui.sortable", $.ui.mouse, {
version: "@VERSION",
widgetEventPrefix: "sort",
ready: false,
@@ -82,7 +82,7 @@ return $.widget("ui.sortable", $.ui.mouse, {
},
_isFloating: function( item ) {
- return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
+ return ( /left|right/ ).test( item.css( "float" ) ) || ( /inline|table-cell/ ).test( item.css( "display" ) );
},
_create: function() {
@@ -123,56 +123,56 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.item,
"ui-sortable-handle"
);
- });
+ } );
},
_destroy: function() {
this._mouseDestroy();
for ( var i = this.items.length - 1; i >= 0; i-- ) {
- this.items[i].item.removeData(this.widgetName + "-item");
+ this.items[ i ].item.removeData( this.widgetName + "-item" );
}
return this;
},
- _mouseCapture: function(event, overrideHandle) {
+ _mouseCapture: function( event, overrideHandle ) {
var currentItem = null,
validHandle = false,
that = this;
- if (this.reverting) {
+ if ( this.reverting ) {
return false;
}
- if(this.options.disabled || this.options.type === "static") {
+ if ( this.options.disabled || this.options.type === "static" ) {
return false;
}
//We have to refresh the items data once first
- this._refreshItems(event);
+ this._refreshItems( event );
//Find out if the clicked node (or one of its parents) is a actual item in this.items
- $(event.target).parents().each(function() {
- if($.data(this, that.widgetName + "-item") === that) {
- currentItem = $(this);
+ $( event.target ).parents().each( function() {
+ if ( $.data( this, that.widgetName + "-item" ) === that ) {
+ currentItem = $( this );
return false;
}
- });
- if($.data(event.target, that.widgetName + "-item") === that) {
- currentItem = $(event.target);
+ } );
+ if ( $.data( event.target, that.widgetName + "-item" ) === that ) {
+ currentItem = $( event.target );
}
- if(!currentItem) {
+ if ( !currentItem ) {
return false;
}
- if(this.options.handle && !overrideHandle) {
- $(this.options.handle, currentItem).find("*").addBack().each(function() {
- if(this === event.target) {
+ if ( this.options.handle && !overrideHandle ) {
+ $( this.options.handle, currentItem ).find( "*" ).addBack().each( function() {
+ if ( this === event.target ) {
validHandle = true;
}
- });
- if(!validHandle) {
+ } );
+ if ( !validHandle ) {
return false;
}
}
@@ -183,7 +183,7 @@ return $.widget("ui.sortable", $.ui.mouse, {
},
- _mouseStart: function(event, overrideHandle, noActivation) {
+ _mouseStart: function( event, overrideHandle, noActivation ) {
var i, body,
o = this.options;
@@ -194,7 +194,7 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.refreshPositions();
//Create and append the visible helper
- this.helper = this._createHelper(event);
+ this.helper = this._createHelper( event );
//Cache the helper size
this._cacheHelperProportions();
@@ -217,33 +217,33 @@ return $.widget("ui.sortable", $.ui.mouse, {
left: this.offset.left - this.margins.left
};
- $.extend(this.offset, {
+ $.extend( this.offset, {
click: { //Where the click happened, relative to the element
left: event.pageX - this.offset.left,
top: event.pageY - this.offset.top
},
parent: this._getParentOffset(),
relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
- });
+ } );
// Only after we got the offset, we can change the helper's position to absolute
// TODO: Still need to figure out a way to make relative sorting possible
- this.helper.css("position", "absolute");
- this.cssPosition = this.helper.css("position");
+ this.helper.css( "position", "absolute" );
+ this.cssPosition = this.helper.css( "position" );
//Generate the original position
- this.originalPosition = this._generatePosition(event);
+ this.originalPosition = this._generatePosition( event );
this.originalPageX = event.pageX;
this.originalPageY = event.pageY;
//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
- (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] };
+ this.domPosition = { prev: this.currentItem.prev()[ 0 ], parent: this.currentItem.parent()[ 0 ] };
//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
- if(this.helper[0] !== this.currentItem[0]) {
+ if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
this.currentItem.hide();
}
@@ -251,141 +251,140 @@ return $.widget("ui.sortable", $.ui.mouse, {
this._createPlaceholder();
//Set a containment if given in the options
- if(o.containment) {
+ if ( o.containment ) {
this._setContainment();
}
- if( o.cursor && o.cursor !== "auto" ) { // cursor option
+ if ( o.cursor && o.cursor !== "auto" ) { // cursor option
body = this.document.find( "body" );
// Support: IE
this.storedCursor = body.css( "cursor" );
body.css( "cursor", o.cursor );
- this.storedStylesheet = $( "" ).appendTo( body );
+ this.storedStylesheet = $( "" ).appendTo( body );
}
- if(o.opacity) { // opacity option
- if (this.helper.css("opacity")) {
- this._storedOpacity = this.helper.css("opacity");
+ if ( o.opacity ) { // opacity option
+ if ( this.helper.css( "opacity" ) ) {
+ this._storedOpacity = this.helper.css( "opacity" );
}
- this.helper.css("opacity", o.opacity);
+ this.helper.css( "opacity", o.opacity );
}
- if(o.zIndex) { // zIndex option
- if (this.helper.css("zIndex")) {
- this._storedZIndex = this.helper.css("zIndex");
+ if ( o.zIndex ) { // zIndex option
+ if ( this.helper.css( "zIndex" ) ) {
+ this._storedZIndex = this.helper.css( "zIndex" );
}
- this.helper.css("zIndex", o.zIndex);
+ this.helper.css( "zIndex", o.zIndex );
}
//Prepare scrolling
- if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
+ if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && this.scrollParent[ 0 ].tagName !== "HTML" ) {
this.overflowOffset = this.scrollParent.offset();
}
//Call callbacks
- this._trigger("start", event, this._uiHash());
+ this._trigger( "start", event, this._uiHash() );
//Recache the helper size
- if(!this._preserveHelperProportions) {
+ if ( !this._preserveHelperProportions ) {
this._cacheHelperProportions();
}
-
//Post "activate" events to possible containers
- if( !noActivation ) {
+ if ( !noActivation ) {
for ( i = this.containers.length - 1; i >= 0; i-- ) {
this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
}
}
//Prepare possible droppables
- if($.ui.ddmanager) {
+ if ( $.ui.ddmanager ) {
$.ui.ddmanager.current = this;
}
- if ($.ui.ddmanager && !o.dropBehaviour) {
- $.ui.ddmanager.prepareOffsets(this, event);
+ if ( $.ui.ddmanager && !o.dropBehaviour ) {
+ $.ui.ddmanager.prepareOffsets( this, event );
}
this.dragging = true;
this._addClass( this.helper, "ui-sortable-helper" );
- this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+ this._mouseDrag( event ); //Execute the drag once - this causes the helper not to be visible before getting its correct position
return true;
},
- _mouseDrag: function(event) {
+ _mouseDrag: function( event ) {
var i, item, itemElement, intersection,
o = this.options,
scrolled = false;
//Compute the helpers position
- this.position = this._generatePosition(event);
- this.positionAbs = this._convertPositionTo("absolute");
+ this.position = this._generatePosition( event );
+ this.positionAbs = this._convertPositionTo( "absolute" );
- if (!this.lastPositionAbs) {
+ if ( !this.lastPositionAbs ) {
this.lastPositionAbs = this.positionAbs;
}
//Do scrolling
- if(this.options.scroll) {
- if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
+ if ( this.options.scroll ) {
+ if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && this.scrollParent[ 0 ].tagName !== "HTML" ) {
- if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
- this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
- } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
- this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
+ if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - event.pageY < o.scrollSensitivity ) {
+ this.scrollParent[ 0 ].scrollTop = scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed;
+ } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) {
+ this.scrollParent[ 0 ].scrollTop = scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed;
}
- if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
- this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
- } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
- this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
+ if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - event.pageX < o.scrollSensitivity ) {
+ this.scrollParent[ 0 ].scrollLeft = scrolled = this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed;
+ } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) {
+ this.scrollParent[ 0 ].scrollLeft = scrolled = this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed;
}
} else {
- if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) {
- scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);
- } else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) {
- scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);
+ if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) {
+ scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed );
+ } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < o.scrollSensitivity ) {
+ scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed );
}
- if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) {
- scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);
- } else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) {
- scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);
+ if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) {
+ scrolled = this.document.scrollLeft( this.document.scrollLeft() - o.scrollSpeed );
+ } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < o.scrollSensitivity ) {
+ scrolled = this.document.scrollLeft( this.document.scrollLeft() + o.scrollSpeed );
}
}
- if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
- $.ui.ddmanager.prepareOffsets(this, event);
+ if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {
+ $.ui.ddmanager.prepareOffsets( this, event );
}
}
//Regenerate the absolute position used for position checks
- this.positionAbs = this._convertPositionTo("absolute");
+ this.positionAbs = this._convertPositionTo( "absolute" );
//Set the helper position
- if(!this.options.axis || this.options.axis !== "y") {
- this.helper[0].style.left = this.position.left+"px";
+ if ( !this.options.axis || this.options.axis !== "y" ) {
+ this.helper[ 0 ].style.left = this.position.left + "px";
}
- if(!this.options.axis || this.options.axis !== "x") {
- this.helper[0].style.top = this.position.top+"px";
+ if ( !this.options.axis || this.options.axis !== "x" ) {
+ this.helper[ 0 ].style.top = this.position.top + "px";
}
//Rearrange
- for (i = this.items.length - 1; i >= 0; i--) {
+ for ( i = this.items.length - 1; i >= 0; i-- ) {
//Cache variables and intersection, continue if no intersection
- item = this.items[i];
- itemElement = item.item[0];
- intersection = this._intersectsWithPointer(item);
- if (!intersection) {
+ item = this.items[ i ];
+ itemElement = item.item[ 0 ];
+ intersection = this._intersectsWithPointer( item );
+ if ( !intersection ) {
continue;
}
@@ -396,77 +395,77 @@ return $.widget("ui.sortable", $.ui.mouse, {
//
// Without this, moving items in "sub-sortables" can cause
// the placeholder to jitter between the outer and inner container.
- if (item.instance !== this.currentContainer) {
+ if ( item.instance !== this.currentContainer ) {
continue;
}
// Cannot intersect with itself
// no useless actions that have been done before
// no action if the item moved is the parent of the item checked
- if (itemElement !== this.currentItem[0] &&
- this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
- !$.contains(this.placeholder[0], itemElement) &&
- (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
+ if ( itemElement !== this.currentItem[ 0 ] &&
+ this.placeholder[ intersection === 1 ? "next" : "prev" ]()[ 0 ] !== itemElement &&
+ !$.contains( this.placeholder[ 0 ], itemElement ) &&
+ ( this.options.type === "semi-dynamic" ? !$.contains( this.element[ 0 ], itemElement ) : true )
) {
this.direction = intersection === 1 ? "down" : "up";
- if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
- this._rearrange(event, item);
+ if ( this.options.tolerance === "pointer" || this._intersectsWithSides( item ) ) {
+ this._rearrange( event, item );
} else {
break;
}
- this._trigger("change", event, this._uiHash());
+ this._trigger( "change", event, this._uiHash() );
break;
}
}
//Post events to containers
- this._contactContainers(event);
+ this._contactContainers( event );
//Interconnect with droppables
- if($.ui.ddmanager) {
- $.ui.ddmanager.drag(this, event);
+ if ( $.ui.ddmanager ) {
+ $.ui.ddmanager.drag( this, event );
}
//Call callbacks
- this._trigger("sort", event, this._uiHash());
+ this._trigger( "sort", event, this._uiHash() );
this.lastPositionAbs = this.positionAbs;
return false;
},
- _mouseStop: function(event, noPropagation) {
+ _mouseStop: function( event, noPropagation ) {
- if(!event) {
+ if ( !event ) {
return;
}
//If we are using droppables, inform the manager about the drop
- if ($.ui.ddmanager && !this.options.dropBehaviour) {
- $.ui.ddmanager.drop(this, event);
+ if ( $.ui.ddmanager && !this.options.dropBehaviour ) {
+ $.ui.ddmanager.drop( this, event );
}
- if(this.options.revert) {
+ if ( this.options.revert ) {
var that = this,
cur = this.placeholder.offset(),
axis = this.options.axis,
animation = {};
if ( !axis || axis === "x" ) {
- animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft);
+ animation.left = cur.left - this.offset.parent.left - this.margins.left + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? 0 : this.offsetParent[ 0 ].scrollLeft );
}
if ( !axis || axis === "y" ) {
- animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop);
+ animation.top = cur.top - this.offset.parent.top - this.margins.top + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? 0 : this.offsetParent[ 0 ].scrollTop );
}
this.reverting = true;
- $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
- that._clear(event);
- });
+ $( this.helper ).animate( animation, parseInt( this.options.revert, 10 ) || 500, function() {
+ that._clear( event );
+ } );
} else {
- this._clear(event, noPropagation);
+ this._clear( event, noPropagation );
}
return false;
@@ -475,11 +474,11 @@ return $.widget("ui.sortable", $.ui.mouse, {
cancel: function() {
- if(this.dragging) {
+ if ( this.dragging ) {
- this._mouseUp({ target: null });
+ this._mouseUp( { target: null } );
- if(this.options.helper === "original") {
+ if ( this.options.helper === "original" ) {
this.currentItem.css( this._storedCSS );
this._removeClass( this.currentItem, "ui-sortable-helper" );
} else {
@@ -487,36 +486,37 @@ return $.widget("ui.sortable", $.ui.mouse, {
}
//Post deactivating events to containers
- for (var i = this.containers.length - 1; i >= 0; i--){
- this.containers[i]._trigger("deactivate", null, this._uiHash(this));
- if(this.containers[i].containerCache.over) {
- this.containers[i]._trigger("out", null, this._uiHash(this));
- this.containers[i].containerCache.over = 0;
+ for ( var i = this.containers.length - 1; i >= 0; i-- ) {
+ this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) );
+ if ( this.containers[ i ].containerCache.over ) {
+ this.containers[ i ]._trigger( "out", null, this._uiHash( this ) );
+ this.containers[ i ].containerCache.over = 0;
}
}
}
- if (this.placeholder) {
+ if ( this.placeholder ) {
+
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
- if(this.placeholder[0].parentNode) {
- this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+ if ( this.placeholder[ 0 ].parentNode ) {
+ this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );
}
- if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
+ if ( this.options.helper !== "original" && this.helper && this.helper[ 0 ].parentNode ) {
this.helper.remove();
}
- $.extend(this, {
+ $.extend( this, {
helper: null,
dragging: false,
reverting: false,
_noFinalSort: null
- });
+ } );
- if(this.domPosition.prev) {
- $(this.domPosition.prev).after(this.currentItem);
+ if ( this.domPosition.prev ) {
+ $( this.domPosition.prev ).after( this.currentItem );
} else {
- $(this.domPosition.parent).prepend(this.currentItem);
+ $( this.domPosition.parent ).prepend( this.currentItem );
}
}
@@ -524,41 +524,41 @@ return $.widget("ui.sortable", $.ui.mouse, {
},
- serialize: function(o) {
+ serialize: function( o ) {
- var items = this._getItemsAsjQuery(o && o.connected),
+ var items = this._getItemsAsjQuery( o && o.connected ),
str = [];
o = o || {};
- $(items).each(function() {
- var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
- if (res) {
- str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
+ $( items ).each( function() {
+ var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ).match( o.expression || ( /(.+)[\-=_](.+)/ ) );
+ if ( res ) {
+ str.push( ( o.key || res[ 1 ] + "[]" ) + "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) );
}
- });
+ } );
- if(!str.length && o.key) {
- str.push(o.key + "=");
+ if ( !str.length && o.key ) {
+ str.push( o.key + "=" );
}
- return str.join("&");
+ return str.join( "&" );
},
- toArray: function(o) {
+ toArray: function( o ) {
- var items = this._getItemsAsjQuery(o && o.connected),
+ var items = this._getItemsAsjQuery( o && o.connected ),
ret = [];
o = o || {};
- items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
+ items.each( function() { ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); } );
return ret;
},
/* Be careful with the following core functions */
- _intersectsWith: function(item) {
+ _intersectsWith: function( item ) {
var x1 = this.positionAbs.left,
x2 = x1 + this.helperProportions.width,
@@ -576,27 +576,27 @@ return $.widget("ui.sortable", $.ui.mouse, {
if ( this.options.tolerance === "pointer" ||
this.options.forcePointerForContainers ||
- (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
+ ( this.options.tolerance !== "pointer" && this.helperProportions[ this.floating ? "width" : "height" ] > item[ this.floating ? "width" : "height" ] )
) {
return isOverElement;
} else {
- return (l < x1 + (this.helperProportions.width / 2) && // Right Half
- x2 - (this.helperProportions.width / 2) < r && // Left Half
- t < y1 + (this.helperProportions.height / 2) && // Bottom Half
- y2 - (this.helperProportions.height / 2) < b ); // Top Half
+ return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half
+ x2 - ( this.helperProportions.width / 2 ) < r && // Left Half
+ t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half
+ y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half
}
},
- _intersectsWithPointer: function(item) {
+ _intersectsWithPointer: function( item ) {
var verticalDirection, horizontalDirection,
- isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
- isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
+ isOverElementHeight = ( this.options.axis === "x" ) || this._isOverAxis( this.positionAbs.top + this.offset.click.top, item.top, item.height ),
+ isOverElementWidth = ( this.options.axis === "y" ) || this._isOverAxis( this.positionAbs.left + this.offset.click.left, item.left, item.width ),
isOverElement = isOverElementHeight && isOverElementWidth;
- if (!isOverElement) {
+ if ( !isOverElement ) {
return false;
}
@@ -604,38 +604,38 @@ return $.widget("ui.sortable", $.ui.mouse, {
horizontalDirection = this._getDragHorizontalDirection();
return this.floating ?
- ( (horizontalDirection === "right" || verticalDirection === "down") ? 2 : 1 )
- : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
+ ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 )
+ : ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) );
},
- _intersectsWithSides: function(item) {
+ _intersectsWithSides: function( item ) {
- var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
- isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
+ var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + this.offset.click.top, item.top + ( item.height / 2 ), item.height ),
+ isOverRightHalf = this._isOverAxis( this.positionAbs.left + this.offset.click.left, item.left + ( item.width / 2 ), item.width ),
verticalDirection = this._getDragVerticalDirection(),
horizontalDirection = this._getDragHorizontalDirection();
- if (this.floating && horizontalDirection) {
- return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
+ if ( this.floating && horizontalDirection ) {
+ return ( ( horizontalDirection === "right" && isOverRightHalf ) || ( horizontalDirection === "left" && !isOverRightHalf ) );
} else {
- return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
+ return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || ( verticalDirection === "up" && !isOverBottomHalf ) );
}
},
_getDragVerticalDirection: function() {
var delta = this.positionAbs.top - this.lastPositionAbs.top;
- return delta !== 0 && (delta > 0 ? "down" : "up");
+ return delta !== 0 && ( delta > 0 ? "down" : "up" );
},
_getDragHorizontalDirection: function() {
var delta = this.positionAbs.left - this.lastPositionAbs.left;
- return delta !== 0 && (delta > 0 ? "right" : "left");
+ return delta !== 0 && ( delta > 0 ? "right" : "left" );
},
- refresh: function(event) {
- this._refreshItems(event);
+ refresh: function( event ) {
+ this._refreshItems( event );
this._setHandleClassName();
this.refreshPositions();
return this;
@@ -643,100 +643,100 @@ return $.widget("ui.sortable", $.ui.mouse, {
_connectWith: function() {
var options = this.options;
- return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
+ return options.connectWith.constructor === String ? [ options.connectWith ] : options.connectWith;
},
- _getItemsAsjQuery: function(connected) {
+ _getItemsAsjQuery: function( connected ) {
var i, j, cur, inst,
items = [],
queries = [],
connectWith = this._connectWith();
- if(connectWith && connected) {
- for (i = connectWith.length - 1; i >= 0; i--){
- cur = $(connectWith[i], this.document[0]);
- for ( j = cur.length - 1; j >= 0; j--){
- inst = $.data(cur[j], this.widgetFullName);
- if(inst && inst !== this && !inst.options.disabled) {
- queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
+ if ( connectWith && connected ) {
+ for ( i = connectWith.length - 1; i >= 0; i-- ) {
+ cur = $( connectWith[ i ], this.document[ 0 ] );
+ for ( j = cur.length - 1; j >= 0; j-- ) {
+ inst = $.data( cur[ j ], this.widgetFullName );
+ if ( inst && inst !== this && !inst.options.disabled ) {
+ queries.push( [ $.isFunction( inst.options.items ) ? inst.options.items.call( inst.element ) : $( inst.options.items, inst.element ).not( ".ui-sortable-helper" ).not( ".ui-sortable-placeholder" ), inst ] );
}
}
}
}
- queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
+ queries.push( [ $.isFunction( this.options.items ) ? this.options.items.call( this.element, null, { options: this.options, item: this.currentItem } ) : $( this.options.items, this.element ).not( ".ui-sortable-helper" ).not( ".ui-sortable-placeholder" ), this ] );
function addItems() {
items.push( this );
}
- for (i = queries.length - 1; i >= 0; i--){
- queries[i][0].each( addItems );
+ for ( i = queries.length - 1; i >= 0; i-- ) {
+ queries[ i ][ 0 ].each( addItems );
}
- return $(items);
+ return $( items );
},
_removeCurrentsFromItems: function() {
- var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
+ var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" );
- this.items = $.grep(this.items, function (item) {
- for (var j=0; j < list.length; j++) {
- if(list[j] === item.item[0]) {
+ this.items = $.grep( this.items, function( item ) {
+ for ( var j = 0; j < list.length; j++ ) {
+ if ( list[ j ] === item.item[ 0 ] ) {
return false;
}
}
return true;
- });
+ } );
},
- _refreshItems: function(event) {
+ _refreshItems: function( event ) {
this.items = [];
- this.containers = [this];
+ this.containers = [ this ];
var i, j, cur, inst, targetData, _queries, item, queriesLength,
items = this.items,
- queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
+ queries = [ [ $.isFunction( this.options.items ) ? this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : $( this.options.items, this.element ), this ] ],
connectWith = this._connectWith();
- if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
- for (i = connectWith.length - 1; i >= 0; i--){
- cur = $(connectWith[i], this.document[0]);
- for (j = cur.length - 1; j >= 0; j--){
- inst = $.data(cur[j], this.widgetFullName);
- if(inst && inst !== this && !inst.options.disabled) {
- queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
- this.containers.push(inst);
+ if ( connectWith && this.ready ) { //Shouldn't be run the first time through due to massive slow-down
+ for ( i = connectWith.length - 1; i >= 0; i-- ) {
+ cur = $( connectWith[ i ], this.document[ 0 ] );
+ for ( j = cur.length - 1; j >= 0; j-- ) {
+ inst = $.data( cur[ j ], this.widgetFullName );
+ if ( inst && inst !== this && !inst.options.disabled ) {
+ queries.push( [ $.isFunction( inst.options.items ) ? inst.options.items.call( inst.element[ 0 ], event, { item: this.currentItem } ) : $( inst.options.items, inst.element ), inst ] );
+ this.containers.push( inst );
}
}
}
}
- for (i = queries.length - 1; i >= 0; i--) {
- targetData = queries[i][1];
- _queries = queries[i][0];
+ for ( i = queries.length - 1; i >= 0; i-- ) {
+ targetData = queries[ i ][ 1 ];
+ _queries = queries[ i ][ 0 ];
- for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
- item = $(_queries[j]);
+ for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) {
+ item = $( _queries[ j ] );
- item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
+ item.data( this.widgetName + "-item", targetData ); // Data for target checking (mouse manager)
- items.push({
+ items.push( {
item: item,
instance: targetData,
width: 0, height: 0,
left: 0, top: 0
- });
+ } );
}
}
},
- refreshPositions: function(fast) {
+ refreshPositions: function( fast ) {
// Determine whether items are being displayed horizontally
this.floating = this.items.length ?
@@ -744,23 +744,23 @@ return $.widget("ui.sortable", $.ui.mouse, {
false;
//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
- if(this.offsetParent && this.helper) {
+ if ( this.offsetParent && this.helper ) {
this.offset.parent = this._getParentOffset();
}
var i, item, t, p;
- for (i = this.items.length - 1; i >= 0; i--){
- item = this.items[i];
+ for ( i = this.items.length - 1; i >= 0; i-- ) {
+ item = this.items[ i ];
//We ignore calculating positions of all connected containers when we're not over them
- if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
+ if ( item.instance !== this.currentContainer && this.currentContainer && item.item[ 0 ] !== this.currentItem[ 0 ] ) {
continue;
}
- t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
+ t = this.options.toleranceElement ? $( this.options.toleranceElement, item.item ) : item.item;
- if (!fast) {
+ if ( !fast ) {
item.width = t.outerWidth();
item.height = t.outerHeight();
}
@@ -770,33 +770,33 @@ return $.widget("ui.sortable", $.ui.mouse, {
item.top = p.top;
}
- if(this.options.custom && this.options.custom.refreshContainers) {
- this.options.custom.refreshContainers.call(this);
+ if ( this.options.custom && this.options.custom.refreshContainers ) {
+ this.options.custom.refreshContainers.call( this );
} else {
- for (i = this.containers.length - 1; i >= 0; i--){
- p = this.containers[i].element.offset();
- this.containers[i].containerCache.left = p.left;
- this.containers[i].containerCache.top = p.top;
- this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
- this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
+ for ( i = this.containers.length - 1; i >= 0; i-- ) {
+ p = this.containers[ i ].element.offset();
+ this.containers[ i ].containerCache.left = p.left;
+ this.containers[ i ].containerCache.top = p.top;
+ this.containers[ i ].containerCache.width = this.containers[ i ].element.outerWidth();
+ this.containers[ i ].containerCache.height = this.containers[ i ].element.outerHeight();
}
}
return this;
},
- _createPlaceholder: function(that) {
+ _createPlaceholder: function( that ) {
that = that || this;
var className,
o = that.options;
- if(!o.placeholder || o.placeholder.constructor === String) {
+ if ( !o.placeholder || o.placeholder.constructor === String ) {
className = o.placeholder;
o.placeholder = {
element: function() {
- var nodeName = that.currentItem[0].nodeName.toLowerCase(),
- element = $( "<" + nodeName + ">", that.document[0] );
+ var nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(),
+ element = $( "<" + nodeName + ">", that.document[ 0 ] );
that._addClass( element, "ui-sortable-placeholder",
className || that.currentItem[ 0 ].className )
@@ -819,105 +819,106 @@ return $.widget("ui.sortable", $.ui.mouse, {
return element;
},
- update: function(container, p) {
+ update: function( container, p ) {
// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
- if(className && !o.forcePlaceholderSize) {
+ if ( className && !o.forcePlaceholderSize ) {
return;
}
//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
- if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
- if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
+ if ( !p.height() ) { p.height( that.currentItem.innerHeight() - parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); }
+ if ( !p.width() ) { p.width( that.currentItem.innerWidth() - parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); }
}
};
}
//Create the placeholder
- that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
+ that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) );
//Append it after the actual current item
- that.currentItem.after(that.placeholder);
+ that.currentItem.after( that.placeholder );
//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
- o.placeholder.update(that, that.placeholder);
+ o.placeholder.update( that, that.placeholder );
},
_createTrPlaceholder: function( sourceTr, targetTr ) {
var that = this;
- sourceTr.children().each(function() {
+ sourceTr.children().each( function() {
$( " | ", that.document[ 0 ] )
.attr( "colspan", $( this ).attr( "colspan" ) || 1 )
.appendTo( targetTr );
- });
+ } );
},
- _contactContainers: function(event) {
+ _contactContainers: function( event ) {
var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis,
innermostContainer = null,
innermostIndex = null;
// Get innermost container that intersects with item
- for (i = this.containers.length - 1; i >= 0; i--) {
+ for ( i = this.containers.length - 1; i >= 0; i-- ) {
// Never consider a container that's located within the item itself
- if($.contains(this.currentItem[0], this.containers[i].element[0])) {
+ if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) {
continue;
}
- if(this._intersectsWith(this.containers[i].containerCache)) {
+ if ( this._intersectsWith( this.containers[ i ].containerCache ) ) {
// 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])) {
+ 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
- if(this.containers[i].containerCache.over) {
- this.containers[i]._trigger("out", event, this._uiHash(this));
- this.containers[i].containerCache.over = 0;
+ if ( this.containers[ i ].containerCache.over ) {
+ this.containers[ i ]._trigger( "out", event, this._uiHash( this ) );
+ this.containers[ i ].containerCache.over = 0;
}
}
}
// If no intersecting containers found, return
- if(!innermostContainer) {
+ if ( !innermostContainer ) {
return;
}
// Move the item into the container if it's not there already
- if(this.containers.length === 1) {
- if (!this.containers[innermostIndex].containerCache.over) {
- this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
- this.containers[innermostIndex].containerCache.over = 1;
+ if ( this.containers.length === 1 ) {
+ if ( !this.containers[ innermostIndex ].containerCache.over ) {
+ this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) );
+ this.containers[ innermostIndex ].containerCache.over = 1;
}
} else {
//When entering a new container, we will find the item with the least distance and append our item near it
dist = 10000;
itemWithLeastDistance = null;
- floating = innermostContainer.floating || this._isFloating(this.currentItem);
+ floating = innermostContainer.floating || this._isFloating( this.currentItem );
posProperty = floating ? "left" : "top";
sizeProperty = floating ? "width" : "height";
axis = floating ? "clientX" : "clientY";
- for (j = this.items.length - 1; j >= 0; j--) {
- if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
+ for ( j = this.items.length - 1; j >= 0; j-- ) {
+ if ( !$.contains( this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) ) {
continue;
}
- if(this.items[j].item[0] === this.currentItem[0]) {
+ if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) {
continue;
}
- cur = this.items[j].item.offset()[posProperty];
+ cur = this.items[ j ].item.offset()[ posProperty ];
nearBottom = false;
if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {
nearBottom = true;
@@ -926,16 +927,16 @@ return $.widget("ui.sortable", $.ui.mouse, {
if ( Math.abs( event[ axis ] - cur ) < dist ) {
dist = Math.abs( event[ axis ] - cur );
itemWithLeastDistance = this.items[ j ];
- this.direction = nearBottom ? "up": "down";
+ this.direction = nearBottom ? "up" : "down";
}
}
//Check if dropOnEmpty is enabled
- if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
+ if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) {
return;
}
- if(this.currentContainer === this.containers[innermostIndex]) {
+ if ( this.currentContainer === this.containers[ innermostIndex ] ) {
if ( !this.currentContainer.containerCache.over ) {
this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() );
this.currentContainer.containerCache.over = 1;
@@ -943,70 +944,68 @@ return $.widget("ui.sortable", $.ui.mouse, {
return;
}
- 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 ) );
+ this.currentContainer = this.containers[ innermostIndex ];
//Update the placeholder
- this.options.placeholder.update(this.currentContainer, this.placeholder);
+ this.options.placeholder.update( this.currentContainer, this.placeholder );
- this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
- this.containers[innermostIndex].containerCache.over = 1;
+ this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) );
+ this.containers[ innermostIndex ].containerCache.over = 1;
}
-
},
- _createHelper: function(event) {
+ _createHelper: function( event ) {
var o = this.options,
- helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
+ helper = $.isFunction( o.helper ) ? $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem );
//Add the helper to the DOM if that didn't happen already
- if(!helper.parents("body").length) {
- $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
+ if ( !helper.parents( "body" ).length ) {
+ $( o.appendTo !== "parent" ? o.appendTo : this.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] );
}
- if(helper[0] === this.currentItem[0]) {
- this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
+ if ( helper[ 0 ] === this.currentItem[ 0 ] ) {
+ this._storedCSS = { width: this.currentItem[ 0 ].style.width, height: this.currentItem[ 0 ].style.height, position: this.currentItem.css( "position" ), top: this.currentItem.css( "top" ), left: this.currentItem.css( "left" ) };
}
- if(!helper[0].style.width || o.forceHelperSize) {
- helper.width(this.currentItem.width());
+ if ( !helper[ 0 ].style.width || o.forceHelperSize ) {
+ helper.width( this.currentItem.width() );
}
- if(!helper[0].style.height || o.forceHelperSize) {
- helper.height(this.currentItem.height());
+ if ( !helper[ 0 ].style.height || o.forceHelperSize ) {
+ helper.height( this.currentItem.height() );
}
return helper;
},
- _adjustOffsetFromHelper: function(obj) {
- if (typeof obj === "string") {
- obj = obj.split(" ");
+ _adjustOffsetFromHelper: function( obj ) {
+ if ( typeof obj === "string" ) {
+ obj = obj.split( " " );
}
- if ($.isArray(obj)) {
- obj = {left: +obj[0], top: +obj[1] || 0};
+ if ( $.isArray( obj ) ) {
+ obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };
}
- if ("left" in obj) {
+ if ( "left" in obj ) {
this.offset.click.left = obj.left + this.margins.left;
}
- if ("right" in obj) {
+ if ( "right" in obj ) {
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
}
- if ("top" in obj) {
+ if ( "top" in obj ) {
this.offset.click.top = obj.top + this.margins.top;
}
- if ("bottom" in obj) {
+ if ( "bottom" in obj ) {
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
}
},
_getParentOffset: function() {
-
//Get the offsetParent and cache its position
this.offsetParent = this.helper.offsetParent();
var po = this.offsetParent.offset();
@@ -1015,31 +1014,31 @@ return $.widget("ui.sortable", $.ui.mouse, {
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
- if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) {
+ if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {
po.left += this.scrollParent.scrollLeft();
po.top += this.scrollParent.scrollTop();
}
// This needs to be actually done for all browsers, since pageX/pageY includes this information
// with an ugly IE fix
- if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
+ if ( this.offsetParent[ 0 ] === this.document[ 0 ].body || ( this.offsetParent[ 0 ].tagName && this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) {
po = { top: 0, left: 0 };
}
return {
- top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
- left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
+ top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ),
+ left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 )
};
},
_getRelativeOffset: function() {
- if(this.cssPosition === "relative") {
+ if ( this.cssPosition === "relative" ) {
var p = this.currentItem.position();
return {
- top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
- left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
+ top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + this.scrollParent.scrollTop(),
+ left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + this.scrollParent.scrollLeft()
};
} else {
return { top: 0, left: 0 };
@@ -1049,8 +1048,8 @@ return $.widget("ui.sortable", $.ui.mouse, {
_cacheMargins: function() {
this.margins = {
- left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
- top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
+ left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ),
+ top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 )
};
},
@@ -1065,72 +1064,72 @@ return $.widget("ui.sortable", $.ui.mouse, {
var ce, co, over,
o = this.options;
- if(o.containment === "parent") {
- o.containment = this.helper[0].parentNode;
+ if ( o.containment === "parent" ) {
+ o.containment = this.helper[ 0 ].parentNode;
}
- if(o.containment === "document" || o.containment === "window") {
+ if ( o.containment === "document" || o.containment === "window" ) {
this.containment = [
0 - this.offset.relative.left - this.offset.parent.left,
0 - this.offset.relative.top - this.offset.parent.top,
o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,
- (o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
+ ( o.containment === "document" ? this.document.width() : this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
];
}
- if(!(/^(document|window|parent)$/).test(o.containment)) {
- ce = $(o.containment)[0];
- co = $(o.containment).offset();
- over = ($(ce).css("overflow") !== "hidden");
+ if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) {
+ ce = $( o.containment )[ 0 ];
+ co = $( o.containment ).offset();
+ over = ( $( ce ).css( "overflow" ) !== "hidden" );
this.containment = [
- co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
- co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
- co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
- co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
+ co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left,
+ co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top,
+ co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left,
+ co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top
];
}
},
- _convertPositionTo: function(d, pos) {
+ _convertPositionTo: function( d, pos ) {
- if(!pos) {
+ if ( !pos ) {
pos = this.position;
}
var mod = d === "absolute" ? 1 : -1,
- scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
- scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+ scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent,
+ scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );
return {
top: (
pos.top + // The absolute mouse position
this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod )
),
left: (
pos.left + // The absolute mouse position
this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod )
)
};
},
- _generatePosition: function(event) {
+ _generatePosition: function( event ) {
var top, left,
o = this.options,
pageX = event.pageX,
pageY = event.pageY,
- scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+ scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent, scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );
// This is another very weird special case that only happens for relative elements:
// 1. If the css position is relative
// 2. and the scroll parent is the document or similar to the offset parent
// we have to refresh the relative offset during the scroll so there are no jumps
- if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) {
+ if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) {
this.offset.relative = this._getRelativeOffset();
}
@@ -1139,29 +1138,29 @@ return $.widget("ui.sortable", $.ui.mouse, {
* Constrain the position to a mix of grid, containment.
*/
- if(this.originalPosition) { //If we are not dragging yet, we won't check for options
+ if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options
- if(this.containment) {
- if(event.pageX - this.offset.click.left < this.containment[0]) {
- pageX = this.containment[0] + this.offset.click.left;
+ if ( this.containment ) {
+ if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) {
+ pageX = this.containment[ 0 ] + this.offset.click.left;
}
- if(event.pageY - this.offset.click.top < this.containment[1]) {
- pageY = this.containment[1] + this.offset.click.top;
+ if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) {
+ pageY = this.containment[ 1 ] + this.offset.click.top;
}
- if(event.pageX - this.offset.click.left > this.containment[2]) {
- pageX = this.containment[2] + this.offset.click.left;
+ if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) {
+ pageX = this.containment[ 2 ] + this.offset.click.left;
}
- if(event.pageY - this.offset.click.top > this.containment[3]) {
- pageY = this.containment[3] + this.offset.click.top;
+ if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) {
+ pageY = this.containment[ 3 ] + this.offset.click.top;
}
}
- if(o.grid) {
- top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
- pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
+ if ( o.grid ) {
+ top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ];
+ pageY = this.containment ? ( ( top - this.offset.click.top >= this.containment[ 1 ] && top - this.offset.click.top <= this.containment[ 3 ] ) ? top : ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top;
- left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
- pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
+ left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ];
+ pageX = this.containment ? ( ( left - this.offset.click.left >= this.containment[ 0 ] && left - this.offset.click.left <= this.containment[ 2 ] ) ? left : ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left;
}
}
@@ -1172,22 +1171,22 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.offset.click.top - // Click offset (relative to the element)
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) )
),
left: (
pageX - // The absolute mouse position
this.offset.click.left - // Click offset (relative to the element)
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) )
)
};
},
- _rearrange: function(event, i, a, hardRefresh) {
+ _rearrange: function( event, i, a, hardRefresh ) {
- a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
+ a ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) : i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) );
//Various things done here to improve the performance:
// 1. we create a setTimeout, that calls refreshPositions
@@ -1197,17 +1196,18 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.counter = this.counter ? ++this.counter : 1;
var counter = this.counter;
- this._delay(function() {
- if(counter === this.counter) {
- this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
+ this._delay( function() {
+ if ( counter === this.counter ) {
+ this.refreshPositions( !hardRefresh ); //Precompute after each DOM insertion, NOT on mousemove
}
- });
+ } );
},
- _clear: function(event, noPropagation) {
+ _clear: function( event, noPropagation ) {
this.reverting = false;
+
// We delay all events that have to be triggered to after the point where the placeholder has been removed and
// everything else normalized again
var i,
@@ -1215,15 +1215,15 @@ return $.widget("ui.sortable", $.ui.mouse, {
// We first have to update the dom position of the actual currentItem
// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
- if(!this._noFinalSort && this.currentItem.parent().length) {
- this.placeholder.before(this.currentItem);
+ if ( !this._noFinalSort && this.currentItem.parent().length ) {
+ this.placeholder.before( this.currentItem );
}
this._noFinalSort = null;
- if(this.helper[0] === this.currentItem[0]) {
- for(i in this._storedCSS) {
- if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
- this._storedCSS[i] = "";
+ if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) {
+ for ( i in this._storedCSS ) {
+ if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) {
+ this._storedCSS[ i ] = "";
}
}
this.currentItem.css( this._storedCSS );
@@ -1232,37 +1232,36 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.currentItem.show();
}
- if(this.fromOutside && !noPropagation) {
- delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
+ if ( this.fromOutside && !noPropagation ) {
+ delayedTriggers.push( function( event ) { this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); } );
}
- if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
- delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
+ if ( ( this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) {
+ delayedTriggers.push( function( event ) { this._trigger( "update", event, this._uiHash() ); } ); //Trigger update callback if the DOM position has changed
}
// Check if the items Container has Changed and trigger appropriate
// events.
- if (this !== this.currentContainer) {
- if(!noPropagation) {
- delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
- delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
- delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
+ if ( this !== this.currentContainer ) {
+ if ( !noPropagation ) {
+ delayedTriggers.push( function( event ) { this._trigger( "remove", event, this._uiHash() ); } );
+ delayedTriggers.push( ( function( c ) { return function( event ) { c._trigger( "receive", event, this._uiHash( this ) ); }; } ).call( this, this.currentContainer ) );
+ delayedTriggers.push( ( function( c ) { return function( event ) { c._trigger( "update", event, this._uiHash( this ) ); }; } ).call( this, this.currentContainer ) );
}
}
-
//Post events to containers
function delayEvent( type, instance, container ) {
return function( event ) {
container._trigger( type, event, instance._uiHash( instance ) );
};
}
- for (i = this.containers.length - 1; i >= 0; i--){
- if (!noPropagation) {
+ for ( i = this.containers.length - 1; i >= 0; i-- ) {
+ if ( !noPropagation ) {
delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
}
- if(this.containers[i].containerCache.over) {
+ if ( this.containers[ i ].containerCache.over ) {
delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
- this.containers[i].containerCache.over = 0;
+ this.containers[ i ].containerCache.over = 0;
}
}
@@ -1271,21 +1270,21 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.document.find( "body" ).css( "cursor", this.storedCursor );
this.storedStylesheet.remove();
}
- if(this._storedOpacity) {
- this.helper.css("opacity", this._storedOpacity);
+ if ( this._storedOpacity ) {
+ this.helper.css( "opacity", this._storedOpacity );
}
- if(this._storedZIndex) {
- this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
+ if ( this._storedZIndex ) {
+ this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex );
}
this.dragging = false;
- if(!noPropagation) {
- this._trigger("beforeStop", event, this._uiHash());
+ if ( !noPropagation ) {
+ this._trigger( "beforeStop", event, this._uiHash() );
}
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
- this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+ this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );
if ( !this.cancelHelperRemoval ) {
if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
@@ -1294,11 +1293,11 @@ return $.widget("ui.sortable", $.ui.mouse, {
this.helper = null;
}
- if(!noPropagation) {
- for (i=0; i < delayedTriggers.length; i++) {
- delayedTriggers[i].call(this, event);
+ if ( !noPropagation ) {
+ for ( i = 0; i < delayedTriggers.length; i++ ) {
+ delayedTriggers[ i ].call( this, event );
} //Trigger all delayed events
- this._trigger("stop", event, this._uiHash());
+ this._trigger( "stop", event, this._uiHash() );
}
this.fromOutside = false;
@@ -1307,16 +1306,16 @@ return $.widget("ui.sortable", $.ui.mouse, {
},
_trigger: function() {
- if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
+ if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) {
this.cancel();
}
},
- _uiHash: function(_inst) {
+ _uiHash: function( _inst ) {
var inst = _inst || this;
return {
helper: inst.helper,
- placeholder: inst.placeholder || $([]),
+ placeholder: inst.placeholder || $( [] ),
position: inst.position,
originalPosition: inst.originalPosition,
offset: inst.positionAbs,
@@ -1325,6 +1324,6 @@ return $.widget("ui.sortable", $.ui.mouse, {
};
}
-});
+} );
-}));
+} ) );