@@ -62,31 +62,15 @@ $.widget( "ui.controlgroup", {
62
62
" ui-corner-bottom ui-corner-left ui-corner-tl ui-corner-tr" ) ;
63
63
} ,
64
64
65
- _callChildMethod : function ( method , filter ) {
65
+ _callChildMethod : function ( method ) {
66
66
var that = this ;
67
67
$ . each ( this . options . items , function ( widget , selector ) {
68
68
var options = { } ;
69
- switch ( widget ) {
70
- case "button" :
71
- options . classes = {
72
- "ui-button" : null
73
- } ;
74
- break ;
75
- case "checkboxradio" :
76
- options . classes = {
77
- "ui-checkbox-label" : null ,
78
- "ui-radio-label" : null
79
- } ;
80
- break ;
81
- case "selectmenu" :
82
- options . classes = {
83
- "ui-selectmenu-button-open" : null ,
84
- "ui-selectmenu-button-closed" : null
85
- } ;
86
- break ;
69
+ if ( that [ "_" + widget + "_options" ] ) {
70
+ options = that [ "_" + widget + "_options" ] ( ) ;
87
71
}
88
72
if ( $ . fn [ widget ] && selector ) {
89
- that . element . children ( selector ) . not ( filter ) [ widget ] ( method ?
73
+ that . element . children ( selector ) [ widget ] ( method ?
90
74
method : options ) ;
91
75
}
92
76
} ) ;
@@ -130,8 +114,7 @@ $.widget( "ui.controlgroup", {
130
114
131
115
this . _super ( key , value ) ;
132
116
if ( key === "direction" ) {
133
- this . element . removeClass ( "ui-controlgroup-" + original )
134
- . addClass ( "ui-controlgroup-" + value ) ;
117
+ this . element . removeClass ( "ui-controlgroup-" + original ) ;
135
118
}
136
119
if ( key === "disabled" ) {
137
120
this . _callChildMethod ( value ? "disable" : "enable" ) ;
@@ -141,21 +124,11 @@ $.widget( "ui.controlgroup", {
141
124
142
125
} ,
143
126
144
- refresh : function ( ) {
127
+ _refresh_selectmenu : function ( ) {
145
128
var firstClasses = { } ,
146
129
lastClasses = { } ,
147
130
vertical = ( this . options . direction === "vertical" ) ;
148
- this . element . addClass ( this . _classes ( "ui-controlgroup ui-controlgroup-" +
149
- this . options . direction ) ) ;
150
- this . _callChildMethod ( undefined ) ;
151
- this . visible = this . element . children ( ".ui-button" ) . removeClass ( function ( index , css ) {
152
- return ( css . match ( / u i - c o r n e r - [ a - z ] * / g ) || [ ] ) . join ( " " ) ;
153
- } ) . filter ( this . options . excludeInvisible ? ":visible" : "*" ) ;
154
131
155
- this . first = this . visible . filter ( ":first" )
156
- . addClass ( "ui-corner-" + ( vertical ? "top" : "left" ) ) ;
157
- this . last = this . visible . filter ( ":last" )
158
- . addClass ( "ui-corner-" + ( vertical ? "bottom" : "right" ) ) ;
159
132
if ( $ . ui . selectmenu ) {
160
133
if ( this . first . is ( ".ui-selectmenu-button" ) && ! vertical ) {
161
134
firstClasses [ "ui-selectmenu-button-open" ] = "ui-corner-tl" ;
@@ -176,6 +149,28 @@ $.widget( "ui.controlgroup", {
176
149
}
177
150
this . element . find ( this . options . items . selectmenu ) . selectmenu ( "refresh" ) ;
178
151
}
152
+ } ,
153
+
154
+ refresh : function ( ) {
155
+ var that = this ,
156
+ vertical = ( this . options . direction === "vertical" ) ;
157
+ this . element . addClass ( this . _classes ( "ui-controlgroup ui-controlgroup-" +
158
+ this . options . direction ) ) ;
159
+ this . _callChildMethod ( undefined ) ;
160
+ this . visible = this . element . children ( ".ui-button" ) . removeClass ( function ( index , css ) {
161
+ return ( css . match ( / u i - c o r n e r - [ a - z ] * / g ) || [ ] ) . join ( " " ) ;
162
+ } ) . filter ( this . options . excludeInvisible ? ":visible" : "*" ) ;
163
+
164
+ this . first = this . visible . eq ( 0 )
165
+ . addClass ( "ui-corner-" + ( vertical ? "top" : "left" ) ) ;
166
+ this . last = this . visible . last ( )
167
+ . addClass ( "ui-corner-" + ( vertical ? "bottom" : "right" ) ) ;
168
+
169
+ $ . each ( this . options . items , function ( widget ) {
170
+ if ( that [ "_refresh_" + widget ] ) {
171
+ that [ "_refresh_" + widget ] ( ) ;
172
+ }
173
+ } ) ;
179
174
this . _callChildMethod ( "refresh" ) ;
180
175
181
176
}
0 commit comments