Skip to content

Commit 6800e1a

Browse files
committed
Tabs: Pass tab and panel in create event. Fixes #7868 - Tabs: Provide tab and panel details in create event.
1 parent da89fcb commit 6800e1a

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

tests/unit/tabs/tabs_events.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@
22

33
module( "tabs: events" );
44

5+
test( "create", function() {
6+
expect( 10 );
7+
8+
var element = $( "#tabs1" ),
9+
tabs = element.find( "ul a" ),
10+
panels = element.children( "div" );
11+
12+
element.tabs({
13+
create: function( event, ui ) {
14+
equals( ui.tab.size(), 1, "tab size" );
15+
strictEqual( ui.tab[ 0 ], tabs[ 0 ], "tab" );
16+
equals( ui.panel.size(), 1, "panel size" );
17+
strictEqual( ui.panel[ 0 ], panels[ 0 ], "panel" );
18+
}
19+
});
20+
element.tabs( "destroy" );
21+
22+
element.tabs({
23+
active: 2,
24+
create: function( event, ui ) {
25+
equals( ui.tab.size(), 1, "tab size" );
26+
strictEqual( ui.tab[ 0 ], tabs[ 2 ], "tab" );
27+
equals( ui.panel.size(), 1, "panel size" );
28+
strictEqual( ui.panel[ 0 ], panels[ 2 ], "panel" );
29+
}
30+
});
31+
element.tabs( "destroy" );
32+
33+
element.tabs({
34+
active: false,
35+
collapsible: true,
36+
create: function( event, ui ) {
37+
equals( ui.tab.size(), 0, "tab size" );
38+
equals( ui.panel.size(), 0, "panel size" );
39+
}
40+
});
41+
element.tabs( "destroy" );
42+
});
43+
544
test( "beforeActivate", function() {
645
expect( 38 );
746

ui/jquery.ui.tabs.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ $.widget( "ui.tabs", {
120120
}
121121
},
122122

123+
_getCreateEventData: function() {
124+
return {
125+
tab: this.active,
126+
panel: !this.active.length ? $() : this._getPanelForTab( this.active )
127+
};
128+
},
129+
123130
_setOption: function( key, value ) {
124131
if ( key == "active" ) {
125132
// _activate() will handle invalid values and update this.options

0 commit comments

Comments
 (0)