Accordion: Maintain collapsed state on refresh. Fixes #9189 - Accordion: refresh() method incorrectly opens collapsed accordion.

(cherry picked from commit 5a8596cdf3)
This commit is contained in:
Scott González 2013-03-27 15:23:59 -04:00
parent f9097a6d86
commit a93ad182c8
2 changed files with 11 additions and 2 deletions

View File

@ -30,7 +30,7 @@ test( "enable/disable", function() {
});
test( "refresh", function() {
expect( 17 );
expect( 19 );
var element = $( "#navigation" )
.parent()
.height( 300 )
@ -104,6 +104,15 @@ test( "refresh", function() {
element.find( "div.foo" ).eq( 0 ).remove();
element.accordion( "refresh" );
state( element, 1 );
// collapse all panels
element.accordion( "option", {
collapsible: true,
active: false
});
state( element, 0 );
element.accordion( "refresh" );
state( element, 0 );
});
test( "widget", function() {

View File

@ -221,7 +221,7 @@ $.widget( "ui.accordion", {
options.active = false;
this.active = $();
// active false only when collapsible is true
} if ( options.active === false ) {
} else if ( options.active === false ) {
this._activate( 0 );
// was active, but active panel is gone
} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {