use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.
the class JSNGWebComponent method resetJSONProperty.
@Override
public void resetJSONProperty(String propertyName) {
try {
WebComponent webComponent = getBaseComponent(true);
WebObjectSpecification spec = WebComponentSpecProvider.getSpecProviderState().getWebComponentSpecification(webComponent.getTypeName());
Pair<PropertyDescription, String> propAndName = getPropertyDescriptionAndName(propertyName, spec);
PropertyDescription pd = propAndName.getLeft();
if (pd != null && pd.getType() instanceof IFormComponentType) {
IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(pd.getName(), webComponent.getProperty(pd.getName()), application, this);
// undefined means remove the property
Object convertedValue = fromRhinoToDesignValue(Context.getUndefinedValue(), propAndName.getLeft(), application, this, propertyName);
webComponent.setProperty(propAndName.getRight(), convertedValue);
} else if (pd != null)
webComponent.clearProperty(propertyName);
} catch (JSONException e) {
Debug.error(e);
}
}
use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.
the class JSNGWebComponent method fromRhinoToDesignValue.
public static Object fromRhinoToDesignValue(Object value, PropertyDescription pd, IApplication application, JSWebComponent webComponent, String propertyName) {
Object result = null;
if (pd != null && pd.getType() instanceof IFormComponentType) {
String firstPart = propertyName;
int i = firstPart.indexOf('.');
if (i > 0) {
firstPart = firstPart.substring(0, i);
}
IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(firstPart, webComponent.getBaseComponent(true).getProperty(firstPart), application, webComponent);
result = converter.setRhinoToDesignValue(firstPart == propertyName ? "" : propertyName.substring(firstPart.length() + 1), value);
} else if (pd != null && pd.getType() instanceof IRhinoDesignConverter) {
result = ((IRhinoDesignConverter) pd.getType()).fromRhinoToDesignValue(value, pd, application, webComponent);
} else {
result = JSWebComponent.defaultRhinoToDesignValue(value, application);
}
return result;
}
use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.
the class JSNGWebComponent method fromDesignToRhinoValue.
public static Object fromDesignToRhinoValue(Object value, PropertyDescription pd, IApplication application, JSWebComponent webComponent, String propertyName) {
Object result = value;
if (pd != null && pd.getType() instanceof IFormComponentType) {
String firstPart = propertyName;
int i = firstPart.indexOf('.');
if (i > 0) {
firstPart = firstPart.substring(0, i);
}
IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(firstPart, value, application, webComponent);
result = converter.getDesignToRhinoValue(firstPart == propertyName ? "" : propertyName.substring(firstPart.length() + 1));
} else if (pd != null && pd.getType() instanceof IRhinoDesignConverter) {
result = ((IRhinoDesignConverter) pd.getType()).fromDesignToRhinoValue(value, pd, application, webComponent);
}
return result == null ? Context.getUndefinedValue() : ServoyJSONObject.jsonNullToNull(result);
}
Aggregations