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...
1 parent da89fcb commit 6800e1a2f97a7d8aaf20d065aa2ce517528e5068 @scottgonzalez scottgonzalez committed Jan 21, 2012
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.