MCPcopy
hub / github.com/dataarts/dat.gui / add

Function add

src/dat/gui/GUI.js:1134–1178  ·  view source on GitHub ↗
(gui, object, property, params)

Source from the content-addressed store, hash-verified

1132}
1133
1134function add(gui, object, property, params) {
1135 if (object[property] === undefined) {
1136 throw new Error(`Object "${object}" has no property "${property}"`);
1137 }
1138
1139 let controller;
1140
1141 if (params.color) {
1142 controller = new ColorController(object, property);
1143 } else {
1144 const factoryArgs = [object, property].concat(params.factoryArgs);
1145 controller = ControllerFactory.apply(gui, factoryArgs);
1146 }
1147
1148 if (params.before instanceof Controller) {
1149 params.before = params.before.__li;
1150 }
1151
1152 recallSavedValue(gui, controller);
1153
1154 dom.addClass(controller.domElement, 'c');
1155
1156 const name = document.createElement('span');
1157 dom.addClass(name, 'property-name');
1158 name.innerHTML = controller.property;
1159
1160 const container = document.createElement('div');
1161 container.appendChild(name);
1162 container.appendChild(controller.domElement);
1163
1164 const li = addRow(gui, container, params.before);
1165
1166 dom.addClass(li, GUI.CLASS_CONTROLLER_ROW);
1167 if (controller instanceof ColorController) {
1168 dom.addClass(li, 'color');
1169 } else {
1170 dom.addClass(li, typeof controller.getValue());
1171 }
1172
1173 augmentController(gui, li, controller);
1174
1175 gui.__controllers.push(controller);
1176
1177 return controller;
1178}
1179
1180function getLocalStorageHash(gui, key) {
1181 // TODO how does this deal with multiple GUI's?

Callers 3

GUI.jsFile · 0.70
augmentControllerFunction · 0.70
rFunction · 0.70

Calls 4

recallSavedValueFunction · 0.85
addRowFunction · 0.85
augmentControllerFunction · 0.85
getValueMethod · 0.80

Tested by

no test coverage detected