@@ -1128,19 +1128,23 @@ function recallSavedValue(gui, controller) {
1128
1128
}
1129
1129
1130
1130
function add ( gui , object , property , params ) {
1131
- if ( object [ property ] === undefined ) {
1132
- throw new Error ( `Object "${ object } " has no property "${ property } "` ) ;
1133
- }
1134
-
1135
1131
let controller ;
1136
1132
1137
- if ( params . color ) {
1138
- controller = new ColorController ( object , property ) ;
1139
- } else if ( params . image ) {
1140
- controller = new ImageController ( object , property , params . factoryArgs [ 0 ] ) ;
1141
- } else {
1142
- const factoryArgs = [ object , property ] . concat ( params . factoryArgs ) ;
1143
- controller = ControllerFactory . apply ( gui , factoryArgs ) ;
1133
+ if ( object instanceof Controller ) {
1134
+ controller = object ;
1135
+ params = property || { } ;
1136
+ } else {
1137
+
1138
+ if ( object [ property ] === undefined ) {
1139
+ throw new Error ( `Object "${ object } " has no property "${ property } "` ) ;
1140
+ }
1141
+
1142
+ if ( params . color ) {
1143
+ controller = new ColorController ( object , property ) ;
1144
+ } else {
1145
+ const factoryArgs = [ object , property ] . concat ( params . factoryArgs ) ;
1146
+ controller = ControllerFactory . apply ( gui , factoryArgs ) ;
1147
+ }
1144
1148
}
1145
1149
1146
1150
if ( params . before instanceof Controller ) {
@@ -1164,6 +1168,10 @@ function add(gui, object, property, params) {
1164
1168
dom . addClass ( li , GUI . CLASS_CONTROLLER_ROW ) ;
1165
1169
if ( controller instanceof ColorController ) {
1166
1170
dom . addClass ( li , 'color' ) ;
1171
+ } else if ( params . liClass ) {
1172
+ dom . addClass ( li , params . liClass ) ;
1173
+ } else if ( controller . liClass ) {
1174
+ dom . addClass ( li , controller . liClass ) ;
1167
1175
} else if ( controller instanceof ImageController ) {
1168
1176
dom . addClass ( li , 'image' ) ;
1169
1177
} else {
0 commit comments