equal( chainable, element, "disable is chainable" );
});
+test( "refresh() should update the positions of initially empty lists (see #7498)", function() {
+ expect( 1 );
+
+ var changeCount = 0,
+ element = $( "#qunit-fixture" ).html( "<ul></ul>" ).find( "ul" );
+
+ element
+ .css({
+ "float": "left",
+ width: "100px"
+ })
+ .sortable({
+ change: function() {
+ changeCount++;
+ }
+ })
+ .append( "<li>a</li><li>a</li>" )
+ .find( "li" )
+ .css({
+ "float": "left",
+ width: "50px",
+ height: "50px"
+ });
+
+ element.sortable( "refresh" );
+
+ // Switch the order of the two li elements
+ element.find( "li" ).eq( 0 ).simulate( "drag", {
+ dx: 55,
+ moves: 15
+ });
+
+ equal( changeCount, 1 );
+});
+
})(jQuery);
},
_create: function() {
-
- var o = this.options;
this.containerCache = {};
this.element.addClass("ui-sortable");
//Get the items
this.refresh();
- //Let's determine if the items are being displayed horizontally
- this.floating = this.items.length ? o.axis === "x" || this._isFloating(this.items[0].item) : false;
-
//Let's determine the parent's offset
this.offset = this.element.offset();
refreshPositions: function(fast) {
+ // Determine whether items are being displayed horizontally
+ this.floating = this.items.length ?
+ this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) :
+ 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) {
this.offset.parent = this._getParentOffset();