Skip to content

Commit a93ad18

Browse files
committed
Accordion: Maintain collapsed state on refresh. Fixes #9189 - Accordion: refresh() method incorrectly opens collapsed accordion.
(cherry picked from commit 5a8596c)
1 parent f9097a6 commit a93ad18

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

tests/unit/accordion/accordion_methods.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ test( "enable/disable", function() {
3030
});
3131

3232
test( "refresh", function() {
33-
expect( 17 );
33+
expect( 19 );
3434
var element = $( "#navigation" )
3535
.parent()
3636
.height( 300 )
@@ -104,6 +104,15 @@ test( "refresh", function() {
104104
element.find( "div.foo" ).eq( 0 ).remove();
105105
element.accordion( "refresh" );
106106
state( element, 1 );
107+
108+
// collapse all panels
109+
element.accordion( "option", {
110+
collapsible: true,
111+
active: false
112+
});
113+
state( element, 0 );
114+
element.accordion( "refresh" );
115+
state( element, 0 );
107116
});
108117

109118
test( "widget", function() {

ui/jquery.ui.accordion.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ $.widget( "ui.accordion", {
221221
options.active = false;
222222
this.active = $();
223223
// active false only when collapsible is true
224-
} if ( options.active === false ) {
224+
} else if ( options.active === false ) {
225225
this._activate( 0 );
226226
// was active, but active panel is gone
227227
} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {

0 commit comments

Comments
 (0)