@@ -72,7 +72,7 @@ return $.widget( "ui.accordion", {
72
72
_create : function ( ) {
73
73
var options = this . options ;
74
74
this . prevShow = this . prevHide = $ ( ) ;
75
- this . _addClass ( "ui-accordion" , " ui-widget ui-helper-reset" ) ;
75
+ this . _addClass ( "ui-accordion ui-widget ui-helper-reset" ) ;
76
76
77
77
// ARIA
78
78
this . element . attr ( "role" , "tablist" ) ;
@@ -98,15 +98,15 @@ return $.widget( "ui.accordion", {
98
98
} ,
99
99
100
100
_createIcons : function ( ) {
101
- var icon ,
101
+ var icon , children ,
102
102
icons = this . options . icons ;
103
103
if ( icons ) {
104
104
icon = $ ( "<span>" ) ;
105
- this . _addClass ( icon , "ui-accordion-header-icon" , " ui-icon " + icons . header ) ;
105
+ this . _addClass ( icon , "ui-accordion-header-icon ui-icon " + icons . header ) ;
106
106
icon . prependTo ( this . headers ) ;
107
- this . active . children ( ".ui-accordion-header-icon" )
108
- . removeClass ( icons . header )
109
- . addClass ( icons . activeHeader ) ;
107
+ children = this . active . children ( ".ui-accordion-header-icon" )
108
+ this . _removeClass ( children , icons . header ) ;
109
+ this . _addClass ( children , icons . activeHeader ) ;
110
110
this . _addClass ( this . headers , "ui-accordion-icons" ) ;
111
111
}
112
112
} ,
@@ -121,12 +121,9 @@ return $.widget( "ui.accordion", {
121
121
var contents ;
122
122
123
123
// clean up main element
124
- this . _removeClass ( "ui-accordion" , "ui-widget ui-helper-reset" ) ;
125
124
this . element . removeAttr ( "role" ) ;
126
125
127
126
// clean up headers
128
- this . _removeClass ( this . headers , "ui-accordion-header ui-accordion-header-collapsed ui-accordion-header-active" ,
129
- "ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) ;
130
127
this . headers
131
128
. removeAttr ( "role" )
132
129
. removeAttr ( "aria-expanded" )
@@ -144,8 +141,6 @@ return $.widget( "ui.accordion", {
144
141
. removeAttr ( "aria-hidden" )
145
142
. removeAttr ( "aria-labelledby" )
146
143
. removeUniqueId ( ) ;
147
- this . _removeClass ( contents , "ui-accordion-content ui-accordion-content-active" ,
148
- "ui-helper-reset ui-widget-content ui-state-disabled" ) ;
149
144
150
145
if ( this . options . heightStyle !== "content" ) {
151
146
contents . css ( "height" , "" ) ;
@@ -183,11 +178,10 @@ return $.widget( "ui.accordion", {
183
178
// #5332 - opacity doesn't cascade to positioned elements in IE
184
179
// so we need to add the disabled class to the headers and panels
185
180
if ( key === "disabled" ) {
186
- this . element
187
- . toggleClass ( "ui-state-disabled" , ! ! value )
188
- . attr ( "aria-disabled" , value ) ;
189
- this . headers . add ( this . headers . next ( ) )
190
- . toggleClass ( "ui-state-disabled" , ! ! value ) ;
181
+ this . element . attr ( "aria-disabled" , value ) ;
182
+
183
+ this [ ( ! ! value ? "_add" : "_remove" ) + "Class" ] ( "ui-state-disabled" ) ;
184
+ this [ ( ! ! value ? "_add" : "_remove" ) + "Class" ] ( this . headers . add ( this . headers . next ( ) ) , "ui-state-disabled" ) ;
191
185
}
192
186
} ,
193
187
@@ -273,12 +267,10 @@ return $.widget( "ui.accordion", {
273
267
prevPanels = this . panels ;
274
268
275
269
this . headers = this . element . find ( this . options . header ) ;
276
- this . _addClass ( this . headers , "ui-accordion-header ui-accordion-header-collapsed" ,
277
- "ui-state-default" ) ;
270
+ this . _addClass ( this . headers , "ui-accordion-header ui-accordion-header-collapsed ui-state-default" ) ;
278
271
279
272
this . panels = this . headers . next ( ) . filter ( ":not(.ui-accordion-content-active)" ) . hide ( ) ;
280
- this . _addClass ( this . panels , "ui-accordion-content" ,
281
- "ui-helper-reset ui-widget-content" ) ;
273
+ this . _addClass ( this . panels , "ui-accordion-content ui-helper-reset ui-widget-content" ) ;
282
274
283
275
// Avoid memory leaks (#10056)
284
276
if ( prevPanels ) {
@@ -294,7 +286,7 @@ return $.widget( "ui.accordion", {
294
286
parent = this . element . parent ( ) ;
295
287
296
288
this . active = this . _findActive ( options . active ) ;
297
- this . _addClass ( this . active , "ui-accordion-header-active" , " ui-state-active" ) ;
289
+ this . _addClass ( this . active , "ui-accordion-header-active ui-state-active" ) ;
298
290
this . _removeClass ( this . active , "ui-accordion-header-collapsed" ) ;
299
291
this . _addClass ( this . active . next ( ) , "ui-accordion-content-active" ) ;
300
292
this . active . next ( ) . show ( ) ;
@@ -418,6 +410,8 @@ return $.widget( "ui.accordion", {
418
410
_eventHandler : function ( event ) {
419
411
var options = this . options ,
420
412
active = this . active ,
413
+ activeChildren = null ,
414
+ clickedChildren = null ,
421
415
clicked = $ ( event . currentTarget ) ,
422
416
clickedIsActive = clicked [ 0 ] === active [ 0 ] ,
423
417
collapsing = clickedIsActive && options . collapsible ,
@@ -449,20 +443,20 @@ return $.widget( "ui.accordion", {
449
443
450
444
// switch classes
451
445
// corner classes on the previously active header stay after the animation
452
- this . _removeClass ( active , "ui-accordion-header-active" , " ui-state-active" ) ;
446
+ this . _removeClass ( active , "ui-accordion-header-active ui-state-active" ) ;
453
447
if ( options . icons ) {
454
- active . children ( ".ui-accordion-header-icon" )
455
- . removeClass ( options . icons . activeHeader )
456
- . addClass ( options . icons . header ) ;
448
+ activeChildren = active . children ( ".ui-accordion-header-icon" ) ;
449
+ this . _removeClass ( activeChildren , options . icons . activeHeader ) ;
450
+ this . _addClass ( activeChildren , options . icons . header ) ;
457
451
}
458
452
459
453
if ( ! clickedIsActive ) {
460
454
this . _removeClass ( clicked , "ui-accordion-header-collapsed" ) ;
461
- this . _addClass ( clicked , "ui-accordion-header-active" , " ui-state-active" ) ;
455
+ this . _addClass ( clicked , "ui-accordion-header-active ui-state-active" ) ;
462
456
if ( options . icons ) {
463
- clicked . children ( ".ui-accordion-header-icon" )
464
- . removeClass ( options . icons . header )
465
- . addClass ( options . icons . activeHeader ) ;
457
+ clickedChildren = clicked . children ( ".ui-accordion-header-icon" ) ;
458
+ this . _removeClass ( clickedChildren , options . icons . header ) ;
459
+ this . _addClass ( clickedChildren , options . icons . activeHeader ) ;
466
460
}
467
461
468
462
this . _addClass ( clicked . next ( ) , "ui-accordion-content-active" ) ;
0 commit comments