Skip to content
Permalink
Browse files
Tabs: Trigger the select event when collapsing. Fixes #8813 - Tabs: s…
…elect event not triggering when collapsible:true.
  • Loading branch information
scottgonzalez committed Nov 14, 2012
1 parent 0be0c26 commit d7ee9569e18ac46ad3f0a23e790e48d3ee5a44c4
Showing with 17 additions and 8 deletions.
  1. +7 −3 tests/unit/tabs/tabs_deprecated.js
  2. +10 −5 ui/jquery.ui.tabs.js
@@ -359,7 +359,7 @@ test( "show", function() {
});

test( "select", function() {
expect( 13 );
expect( 18 );

var element = $( "#tabs1" ).tabs({
active: false,
@@ -391,8 +391,12 @@ test( "select", function() {
state( element, 0, 1, 0 );

// collapsing
element.one( "tabsselect", function() {
ok( false, "collapsing" );
element.one( "tabsselect", function( event, ui ) {
ok( !( "originalEvent" in event ), "originalEvent" );
strictEqual( ui.tab, anchors[ 1 ], "ui.tab" );
strictEqual( ui.panel, panels[ 1 ], "ui.panel" );
equal( ui.index, 1, "ui.index" );
state( element, 0, 1, 0 );
});
element.tabs( "option", "active", false );
state( element, 0, 0, 0 );
@@ -1187,15 +1187,20 @@ if ( $.uiBackCompat !== false ) {
}
},
_trigger: function( type, event, data ) {
var ret = this._superApply( arguments );
var tab, panel,
ret = this._superApply( arguments );

if ( !ret ) {
return false;
}
if ( type === "beforeActivate" && data.newTab.length ) {

if ( type === "beforeActivate" ) {
tab = data.newTab.length ? data.newTab : data.oldTab;
panel = data.newPanel.length ? data.newPanel : data.oldPanel;
ret = this._super( "select", event, {
tab: data.newTab.find( ".ui-tabs-anchor" )[ 0],
panel: data.newPanel[ 0 ],
index: data.newTab.closest( "li" ).index()
tab: tab.find( ".ui-tabs-anchor" )[ 0],
panel: panel[ 0 ],
index: tab.closest( "li" ).index()
});
} else if ( type === "activate" && data.newTab.length ) {
ret = this._super( "show", event, {

0 comments on commit d7ee956

Please sign in to comment.