Skip to content

Commit

Permalink
Accordion: Split out navigation options into an extension. Fixes #586…
Browse files Browse the repository at this point in the history
…9 - Accordion: Deprecate navigation options.
  • Loading branch information
scottgonzalez committed Dec 11, 2010
1 parent ca0ac5a commit f73d421
Showing 1 changed file with 36 additions and 18 deletions.
54 changes: 36 additions & 18 deletions ui/jquery.ui.accordion.js
Expand Up @@ -26,10 +26,6 @@ $.widget( "ui.accordion", {
icons: {
header: "ui-icon-triangle-1-e",
headerSelected: "ui-icon-triangle-1-s"
},
navigation: false,
navigationFilter: function() {
return this.href.toLowerCase() === location.href.toLowerCase();
}
},

Expand Down Expand Up @@ -77,20 +73,6 @@ $.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" );

if ( options.navigation ) {
var current = self.element.find( "a" ).filter( options.navigationFilter ).eq( 0 );
if ( current.length ) {
var header = current.closest( ".ui-accordion-header" );
if ( header.length ) {
// anchor within header
self.active = header;
} else {
// anchor within content
self.active = current.closest( ".ui-accordion-content" ).prev();
}
}
}

self.active = self._findActive( self.active || options.active )
.addClass( "ui-state-default ui-state-active" )
.toggleClass( "ui-corner-all" )
Expand Down Expand Up @@ -598,4 +580,40 @@ $.extend( $.ui.accordion, {
}
});



// DEPRECATED

// navigation options
(function( $, prototype ) {
$.extend( prototype.options, {
navigation: false,
navigationFilter: function() {
return this.href.toLowerCase() === location.href.toLowerCase();
}
});

var _create = prototype._create;
prototype._create = function() {
if ( this.options.navigation ) {
var self = this,
headers = this.element.find( this.options.header ),
content = headers.next();
current = headers.add( content )
.find( "a" )
.filter( this.options.navigationFilter )
[ 0 ];
if ( current ) {
headers.add( content ).each( function( index ) {
if ( $.contains( this, current ) ) {
self.options.active = Math.floor( index / 2 );
return false;
}
});
}
}
_create.call( this );
};
}( jQuery, jQuery.ui.accordion.prototype ));

})( jQuery );

0 comments on commit f73d421

Please sign in to comment.