Skip to content

Commit

Permalink
Accordion: Reduced valid active options to numbers and falsey. Added …
Browse files Browse the repository at this point in the history
…compatibility layer for previously allowed values.
  • Loading branch information
scottgonzalez committed Jan 13, 2011
1 parent 368af59 commit b5b8cef
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions ui/jquery.ui.accordion.js
Expand Up @@ -73,7 +73,7 @@ $.widget( "ui.accordion", {
.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" );
self.headers.find( ":first-child" ).addClass( "ui-accordion-heading" );

self.active = self._findActive( self.active || options.active )
self.active = self._findActive( options.active )
.addClass( "ui-state-default ui-state-active" )
.toggleClass( "ui-corner-all" )
.toggleClass( "ui-corner-top" );
Expand Down Expand Up @@ -287,17 +287,9 @@ $.widget( "ui.accordion", {
this._eventHandler( { target: active, currentTarget: active } );
},

// TODO: add tests for negative values in 2.0
_findActive: function( selector ) {
// handle -1 separately, we should drop support for this
// so that we can allow selecting via negative index, like .eq()
if ( selector === -1 ) {
selector = undefined;
}
return typeof selector === "number" ?
this.headers.eq( selector ) :
selector ?
this.headers.filter( selector ) :
$( [] );
return typeof selector === "number" ? this.headers.eq( selector ) : $( [] );
},

_eventHandler: function( event ) {
Expand Down Expand Up @@ -690,7 +682,23 @@ $.extend( $.ui.accordion, {
};
}( jQuery, jQuery.ui.accordion.prototype ) );

// activate method
jQuery.ui.accordion.prototype.activate = jQuery.ui.accordion.prototype._activate;
// expanded active option, activate method
(function( $, prototype ) {
prototype.activate = prototype._activate;

var _findActive = prototype._findActive;
prototype._findActive = function( index ) {
if ( index === -1 ) {
index = false;
}
if ( index && typeof index !== "number" ) {
index = this.headers.index( this.headers.filter( index ) );
if ( index === -1 ) {
index = false;
}
}
return _findActive.call( this, index );
};
}( jQuery, jQuery.ui.accordion.prototype ) );

})( jQuery );

0 comments on commit b5b8cef

Please sign in to comment.