aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.tabs.js
diff options
context:
space:
mode:
authorDavid Petersen <public@petersendidit.com>2011-03-26 15:23:08 -0400
committerDavid Petersen <public@petersendidit.com>2011-03-26 21:00:45 -0400
commit3d612445264ba1a5f76917aee78217b92b04543b (patch)
tree6f834565e8004188c6dbde4d89c697f5a8b557f6 /ui/jquery.ui.tabs.js
parentaeaaf93ebb51ab6ff61a42d365edfd3872ae2ebd (diff)
downloadjquery-ui-3d612445264ba1a5f76917aee78217b92b04543b.tar.gz
jquery-ui-3d612445264ba1a5f76917aee78217b92b04543b.zip
Tabs: Deprecate abort method. Fixes #7133 Tabs: Deprecate abort method
Diffstat (limited to 'ui/jquery.ui.tabs.js')
-rwxr-xr-xui/jquery.ui.tabs.js52
1 files changed, 29 insertions, 23 deletions
diff --git a/ui/jquery.ui.tabs.js b/ui/jquery.ui.tabs.js
index 39f1b537b..617e84848 100755
--- a/ui/jquery.ui.tabs.js
+++ b/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 );