Skip to content
Permalink
Browse files

Tabs: Simplify logic for showing/hiding tabs.

  • Loading branch information...
scottgonzalez committed May 11, 2011
1 parent b70256c commit 1298f939b9df464b76c831eb8b4014e7fe16816c
Showing with 10 additions and 36 deletions.
  1. +10 −36 ui/jquery.ui.tabs.js
@@ -401,52 +401,26 @@ $.widget( "ui.tabs", {
that.xhr.abort();
}

// if tab may be closed
if ( options.collapsible ) {
if ( collapsing ) {
options.active = false;

that.element.queue( "tabs", function() {
that._hideTab( event, eventData );
}).dequeue( "tabs" );

clicked[ 0 ].blur();
return;
} else if ( !toHide.length ) {
that.element.queue( "tabs", function() {
that._showTab( event, eventData );
});

// TODO make passing in node possible, see also http://dev.jqueryui.com/ticket/3171
that.load( that.anchors.index( clicked ), event );

clicked[ 0 ].blur();
return;
}
if ( !toHide.length && !toShow.length ) {
throw "jQuery UI Tabs: Mismatching fragment identifier.";
}

// show new tab
if ( toHide.length ) {
that.element.queue( "tabs", function() {
that._hideTab( event, eventData );
});
}
if ( toShow.length ) {
if ( toHide.length ) {
that.element.queue( "tabs", function() {
that._hideTab( event, eventData );
});
}
that.element.queue( "tabs", function() {
that._showTab( event, eventData );
});

// TODO make passing in node possible, see also http://dev.jqueryui.com/ticket/3171
that.load( that.anchors.index( clicked ), event );
} else {
throw "jQuery UI Tabs: Mismatching fragment identifier.";
}

// Prevent IE from keeping other link focussed when using the back button
// and remove dotted border from clicked link. This is controlled via CSS
// in modern browsers; blur() removes focus from address bar in Firefox
// which can become a usability
if ( $.browser.msie ) {
clicked[ 0 ].blur();
} else {
that.element.dequeue( "tabs" );
}
},

0 comments on commit 1298f93

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