From 714a77f202ee02b894992722d2e6b35b4089557e Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 3 Feb 2011 09:54:11 -0500 Subject: Accordion: Properly handle collapsible: false and active: false by changing active to 0. --- ui/jquery.ui.accordion.js | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ui') diff --git a/ui/jquery.ui.accordion.js b/ui/jquery.ui.accordion.js index 4357c435b..33c3a8505 100644 --- a/ui/jquery.ui.accordion.js +++ b/ui/jquery.ui.accordion.js @@ -44,6 +44,10 @@ $.widget( "ui.accordion", { self.headers.next() .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ); + // don't allow collapsible: false and active: false + if ( !options.collapsible && options.active === false ) { + options.active = 0; + } self.active = self._findActive( options.active ) .addClass( "ui-state-default ui-state-active" ) .toggleClass( "ui-corner-all" ) @@ -149,12 +153,18 @@ $.widget( "ui.accordion", { this._super( "_setOption", key, value ); + // setting collapsible: false while collapsed; open first panel + if ( key === "collapsible" && !value && this.options.active === false ) { + this._activate( 0 ); + } + if ( key === "icons" ) { this._destroyIcons(); if ( value ) { this._createIcons(); } } + // #5332 - opacity doesn't cascade to positioned elements in IE // so we need to add the disabled class to the headers and panels if ( key === "disabled" ) { -- cgit v1.2.3