Skip to content

Commit

Permalink
Accordion: Renamed changestart and change events to beforeActivate an…
Browse files Browse the repository at this point in the history
…d activate, respectively. Fixes #6840 - Accordion: Rename changestart event to beforeActivate. Fixes #6842 - Accordion: Rename change event to activate.
  • Loading branch information
scottgonzalez committed Jan 25, 2011
1 parent 06d61f5 commit 088ef05
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 16 deletions.
90 changes: 90 additions & 0 deletions tests/unit/accordion/accordion_deprecated.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -221,4 +221,94 @@ test( "{ navigation: true, navigationFilter: content }", function() {
state( ac, 0, 0, 1 ); state( ac, 0, 0, 1 );
}); });






module( "accordion (deprecated) - changestart/change events", accordionSetupTeardown() );

test( "changestart", function() {
expect( 20 );
var ac = $( "#list1" ).accordion({
active: false,
collapsible: true
});
var headers = ac.find( ".ui-accordion-header" );
var content = ac.find( ".ui-accordion-content" );

ac.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
});
ac.accordion( "option", "active", 0 );

ac.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 );
strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
equals( ui.newHeader.size(), 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
});
headers.eq( 1 ).click();

ac.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 );
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
});
ac.accordion( "option", "active", false );
});

test( "change", function() {
expect( 20 );
var ac = $( "#list1" ).accordion({
active: false,
collapsible: true
});
var headers = ac.find( ".ui-accordion-header" );
var content = ac.find( ".ui-accordion-content" );

ac.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
});
ac.accordion( "option", "active", 0 );

ac.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 );
strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
equals( ui.newHeader.size(), 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
});
headers.eq( 1 ).click();

ac.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 );
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
});
ac.accordion( "option", "active", false );
});

})(jQuery); })(jQuery);
16 changes: 8 additions & 8 deletions tests/unit/accordion/accordion_events.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


module( "accordion: events", accordionSetupTeardown() ); module( "accordion: events", accordionSetupTeardown() );


test( "changestart", function() { test( "beforeActivate", function() {
expect( 20 ); expect( 20 );
var ac = $( "#list1" ).accordion({ var ac = $( "#list1" ).accordion({
active: false, active: false,
Expand All @@ -11,7 +11,7 @@ test( "changestart", function() {
var headers = ac.find( ".ui-accordion-header" ); var headers = ac.find( ".ui-accordion-header" );
var content = ac.find( ".ui-accordion-content" ); var content = ac.find( ".ui-accordion-content" );


ac.one( "accordionchangestart", function( event, ui ) { ac.one( "accordionbeforeactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 0 ); equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 ); equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 ); equals( ui.newHeader.size(), 1 );
Expand All @@ -21,7 +21,7 @@ test( "changestart", function() {
}); });
ac.accordion( "option", "active", 0 ); ac.accordion( "option", "active", 0 );


ac.one( "accordionchangestart", function( event, ui ) { ac.one( "accordionbeforeactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 ); equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 ); equals( ui.oldContent.size(), 1 );
Expand All @@ -33,7 +33,7 @@ test( "changestart", function() {
}); });
headers.eq( 1 ).click(); headers.eq( 1 ).click();


ac.one( "accordionchangestart", function( event, ui ) { ac.one( "accordionbeforeactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 ); equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 ); equals( ui.oldContent.size(), 1 );
Expand All @@ -44,7 +44,7 @@ test( "changestart", function() {
ac.accordion( "option", "active", false ); ac.accordion( "option", "active", false );
}); });


test( "change", function() { test( "activate", function() {
expect( 20 ); expect( 20 );
var ac = $( "#list1" ).accordion({ var ac = $( "#list1" ).accordion({
active: false, active: false,
Expand All @@ -53,7 +53,7 @@ test( "change", function() {
var headers = ac.find( ".ui-accordion-header" ); var headers = ac.find( ".ui-accordion-header" );
var content = ac.find( ".ui-accordion-content" ); var content = ac.find( ".ui-accordion-content" );


ac.one( "accordionchange", function( event, ui ) { ac.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 0 ); equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 ); equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 ); equals( ui.newHeader.size(), 1 );
Expand All @@ -63,7 +63,7 @@ test( "change", function() {
}); });
ac.accordion( "option", "active", 0 ); ac.accordion( "option", "active", 0 );


ac.one( "accordionchange", function( event, ui ) { ac.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 ); equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 ); equals( ui.oldContent.size(), 1 );
Expand All @@ -75,7 +75,7 @@ test( "change", function() {
}); });
headers.eq( 1 ).click(); headers.eq( 1 ).click();


ac.one( "accordionchange", function( event, ui ) { ac.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 ); equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 ); equals( ui.oldContent.size(), 1 );
Expand Down
12 changes: 7 additions & 5 deletions tests/unit/testsuite.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -34,12 +34,14 @@ var privateMethods = [
]; ];


function testWidgetOverrides( widget ) { function testWidgetOverrides( widget ) {
test( "$.widget overrides", function() { if ( $.uiBackCompat === false ) {
$.each( privateMethods, function( i, method ) { test( "$.widget overrides", function() {
strictEqual( $.ui[ widget ].prototype[ method ], $.each( privateMethods, function( i, method ) {
$.Widget.prototype[ method ], "should not override " + method ); strictEqual( $.ui[ widget ].prototype[ method ],
$.Widget.prototype[ method ], "should not override " + method );
});
}); });
}); }
} }


function testBasicUsage( widget ) { function testBasicUsage( widget ) {
Expand Down
22 changes: 19 additions & 3 deletions ui/jquery.ui.accordion.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -381,8 +381,7 @@ $.widget( "ui.accordion", {
return self._completed.apply( self, arguments ); return self._completed.apply( self, arguments );
}; };


// trigger changestart event self._trigger( "beforeActivate", null, self.data );
self._trigger( "changestart", null, self.data );


// count elements to animate // count elements to animate
self.running = toHide.size() === 0 ? toShow.size() : toHide.size(); self.running = toHide.size() === 0 ? toShow.size() : toHide.size();
Expand Down Expand Up @@ -487,7 +486,7 @@ $.widget( "ui.accordion", {
this.toHide.parent()[0].className = this.toHide.parent()[0].className; this.toHide.parent()[0].className = this.toHide.parent()[0].className;
} }


this._trigger( "change", null, this.data ); this._trigger( "activate", null, this.data );
} }
}); });


Expand Down Expand Up @@ -711,6 +710,23 @@ if ( $.uiBackCompat !== false ) {


// resize method // resize method
jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh; jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh;

(function( $, prototype ) {
var _trigger = prototype._trigger;
prototype._trigger = function( type, event, data ) {
var ret = _trigger.apply( this, arguments );
if ( !ret ) {
return false;
}

if ( type === "beforeActivate" ) {
ret = _trigger.call( this, "changestart", event, data );
} else if ( type === "activate" ) {
ret = _trigger.call( this, "change", event, data );
}
return ret;
}
}( jQuery, jQuery.ui.accordion.prototype ) );
} }


})( jQuery ); })( jQuery );

0 comments on commit 088ef05

Please sign in to comment.