Skip to content
Permalink
Browse files

Tabs: Deprecate abort method. Fixes #7133 Tabs: Deprecate abort method

  • Loading branch information...
petersendidit committed Mar 26, 2011
1 parent aeaaf93 commit 3d612445264ba1a5f76917aee78217b92b04543b
Showing with 29 additions and 23 deletions.
  1. +29 −23 ui/jquery.ui.tabs.js
@@ -337,7 +337,9 @@ $.widget( "ui.tabs", {

o.selected = self.anchors.index( el );

self.abort();
if ( self.xhr ) {
self.xhr.abort();
}

// if tab may be closed
if ( o.collapsible ) {
@@ -413,7 +415,9 @@ $.widget( "ui.tabs", {
_destroy: function() {
var o = this.options;

this.abort();
if ( this.xhr ) {
this.xhr.abort();
}

this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );

@@ -604,7 +608,9 @@ $.widget( "ui.tabs", {
url = $.data( a, "load.tabs" ),
eventData = self._ui( self.anchors[ index ], self.panels[ index ] );

this.abort();
if ( this.xhr ) {
this.xhr.abort();
}

// not remote
if ( !url ) {
@@ -634,6 +640,17 @@ $.widget( "ui.tabs", {
self.element.find( self._sanitizeSelector( a.hash ) ).html( response );
})
.complete( function( jqXHR, status ) {
if ( status === "abort" ) {
// stop possibly running animations
self.element.queue( [] );
self.panels.stop( false, true );

// "tabs" queue must not contain more than two elements,
// which are the callbacks for the latest clicked tab...
self.element.queue( "tabs", self.element.queue( "tabs" ).splice( -2, 2 ) );

delete this.xhr;
}
// take care of tab labels
self._cleanup();

@@ -647,26 +664,6 @@ $.widget( "ui.tabs", {
return this;
},

abort: function() {
// stop possibly running animations
this.element.queue( [] );
this.panels.stop( false, true );

// "tabs" queue must not contain more than two elements,
// which are the callbacks for the latest clicked tab...
this.element.queue( "tabs", this.element.queue( "tabs" ).splice( -2, 2 ) );

// terminate pending requests from other tabs
if ( this.xhr ) {
this.xhr.abort();
delete this.xhr;
}

// take care of tab labels
this._cleanup();
return this;
},

url: function( index, url ) {
this.anchors.eq( index ).data( "load.tabs", url );
return this;
@@ -749,6 +746,15 @@ if ( $.uiBackCompat !== false ) {
}
});
}( jQuery, jQuery.ui.tabs.prototype ) );

// abort method
(function( $, prototype ) {
prototype.abort = function() {
if ( this.xhr ) {
this.xhr.abort();
}
};
}( jQuery, jQuery.ui.tabs.prototype ) );
}

})( jQuery );

0 comments on commit 3d61244

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