return Undefined.instance;
}
public void jsSet_value(Object value) throws JavaScriptException {
if (delegate instanceof AggregateField) {
AggregateField aggregateField = (AggregateField)delegate;
if (value instanceof Scriptable) {
Scriptable obj = (Scriptable)value;
Object[] ids = obj.getIds();
for (int i = 0; i < ids.length; i++) {
String id = String.valueOf(ids[i]);
Object val = getProperty(obj, id);
ScriptableWidget wid = wrap(aggregateField.getChild(id));
if (wid == null) {
throw new JavaScriptException("No field \"" + id + "\" in widget \"" + aggregateField.getId() + "\"");
}
if (wid.delegate instanceof Field ||
wid.delegate instanceof BooleanField ||
wid.delegate instanceof Output) {
if (val instanceof Scriptable) {
Scriptable s = (Scriptable)val;
if (s.has("value", s)) {
wid.jsSet_value(s.get("value", s));
}
}
} else {
wid.jsSet_value(val);
}
}
aggregateField.combineFields();
return;
}
// fall through
}
if (delegate instanceof DataWidget) {