Skip to content
Permalink
Browse files

Tabs: Pass tab and panel in create event. Fixes #7868 - Tabs: Provide…

… tab and panel details in create event.
  • Loading branch information...
scottgonzalez committed Jan 21, 2012
1 parent da89fcb commit 6800e1a2f97a7d8aaf20d065aa2ce517528e5068
Showing with 46 additions and 0 deletions.
  1. +39 −0 tests/unit/tabs/tabs_events.js
  2. +7 −0 ui/jquery.ui.tabs.js
@@ -2,6 +2,45 @@

module( "tabs: events" );

test( "create", function() {
expect( 10 );

var element = $( "#tabs1" ),
tabs = element.find( "ul a" ),
panels = element.children( "div" );

element.tabs({
create: function( event, ui ) {
equals( ui.tab.size(), 1, "tab size" );
strictEqual( ui.tab[ 0 ], tabs[ 0 ], "tab" );
equals( ui.panel.size(), 1, "panel size" );
strictEqual( ui.panel[ 0 ], panels[ 0 ], "panel" );
}
});
element.tabs( "destroy" );

element.tabs({
active: 2,
create: function( event, ui ) {
equals( ui.tab.size(), 1, "tab size" );
strictEqual( ui.tab[ 0 ], tabs[ 2 ], "tab" );
equals( ui.panel.size(), 1, "panel size" );
strictEqual( ui.panel[ 0 ], panels[ 2 ], "panel" );
}
});
element.tabs( "destroy" );

element.tabs({
active: false,
collapsible: true,
create: function( event, ui ) {
equals( ui.tab.size(), 0, "tab size" );
equals( ui.panel.size(), 0, "panel size" );
}
});
element.tabs( "destroy" );
});

test( "beforeActivate", function() {
expect( 38 );

@@ -120,6 +120,13 @@ $.widget( "ui.tabs", {
}
},

_getCreateEventData: function() {
return {
tab: this.active,
panel: !this.active.length ? $() : this._getPanelForTab( this.active )
};
},

_setOption: function( key, value ) {
if ( key == "active" ) {
// _activate() will handle invalid values and update this.options

0 comments on commit 6800e1a

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