- Form Load Binder Plugins are used for extending the method of loading data in a form from any data source.
- Form Options Binder Plugins are used for extending the method of loading data in a form field’s options from any data source.
- Form Store Binder Plugins are used for extending the method of storing data in a form to any data source.
- A useable Form Binder plugin must extends Form Load/Options/Store Binder Plugin abstract class and implements one or more of the corresponding interfaces.
public static final java.lang.String FORM_LOAD_BINDER = "loadBinder";
Property key used in in Form Field Element to retrieve Form Load Binder Plugin
public static final java.lang.String FORM_OPTIONS_BINDER = "optionsBinder";
Property key used in in Form Field Element to retrieve Form Options Binder Plugin
public static final java.lang.String FORM_STORE_BINDER = "storeBinder";
Property key used in in Form Field Element to retrieve Form Sore Binder Plugin
public org.joget.apps.form.model.Element getElement()
Gets the form field element which own this binder
public void setElement(org.joget.apps.form.model.Element element)
Sets the form field element which own this binder
- Under wflow-core module
- A Form Load Binder loads data from a data source for use of an element and its children in a form.
public org.joget.apps.form.model.FormRowSet load(org.joget.apps.form.model.Element element, java.lang.String primaryKey, org.joget.apps.form.model.FormData formData)
Loads data based on a primary key.
- Under wflow-core module
- Used to mark a binder that loads data for an element e.g. form or section.
- Objects implementing this interface will be selectable in the Form Builder.
- No interface method is available in this interface
- Under wflow-core module
- Used to mark a binder that loads multi row data for an element e.g. Grid.
- Objects implementing this interface will be selectable in the Form Builder.
- No interface method is available in this interface
- Under wflow-core module
- A Form Store Binder stores data from an element and its children into a data source.
public org.joget.apps.form.model.FormRowSet store(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormRowSet rows, org.joget.apps.form.model.FormData formData)
Stores data in the data source.
- Under wflow-core module
- Used to mark a binder that stores data for an element e.g. form or section.
- Objects implementing this interface will be selectable in the Form Builder.
- No interface method is available in this interface
- Under wflow-core module
- Used to mark a binder that store multi row data for an element e.g. Grid.
- Objects implementing this interface will be selectable in the Form Builder.
- No interface method is available in this interface
- Under wflow-core module
- Extends Form Load/Options/Store Binder Plugin.
- Used to mark a binder that returns multiple options to populate a form element e.g. selectbox, checkbox, radio, etc.
- Each FormRow object return by FormRowSet object should contains key "value" and "label".
- Under wflow-core module
- This interface indicate that a Form Options Binder support retrieving options using AJAX
- Must use together with Form Load/Options/Store Binder Plugin.
- Each FormRow object return by FormRowSet object should contains key "value" and "label".
public boolean useAjax()
Use to decide this field is using AJAX to load its options or not.
public org.joget.apps.form.model.FormRowSet loadAjaxOptions(java.lang.String[] dependencyValues);
Retrieve options based on dependency values
- Under wflow-core module
- This interface indicate that the form data load by Form Load Binder is deletable from Form Data table.
public java.lang.String getFormId()
Get Form Id of the loaded data.
public java.lang.String getTableName()
Get table name of the loaded data.
- Bean Shell Form Binder
org.joget.apps.form.lib.BeanShellFormBinder (wflow-core) - Default Form Binder
org.joget.apps.form.lib.DefaultFormBinder (wflow-core) - Workflow Form Binder
org.joget.apps.form.lib.WorkflowFormBinder (wflow-core)