Form Load/Options/Store Binder Plugin
The Form Load/Options/Store Binder Plugin extends the methods for interacting with data in Joget forms. The Form Load Binder allows data to be loaded from any source into a form, while the Form Options Binder extends how data is loaded into a form field’s options. The Form Store Binder handles storing form data to any data source. A functional Form Binder plugin must extend the org.joget.apps.form.model.FormBinder abstract class and implement one or more corresponding interfaces to work effectively.
Abstract Class
org.joget.apps.form.model.FormBinder
- Under
wflow-core
module - Extended org.joget.plugin.base.ExtDefaultPlugin. Please refer to Plugin Base Abstract Class and Interface.
- Implemented org.joget.plugin.property.model.PropertyEditable. Please refer to Plugin Base Abstract Class and Interface.
- A base abstract class to develop a Form Load Binder, Form Options Binder or Form Store Binder plugin.
Field Detail
Constants
FORM_LOAD_BINDER
public static final java.lang.String FORM_LOAD_BINDER = "loadBinder";
Property key used in in Form Field Element to retrieve Form Load Binder Plugin.
FORM_OPTIONS_BINDER
public static final java.lang.String FORM_OPTIONS_BINDER = "optionsBinder";
Property key used in in Form Field Element to retrieve Form Options Binder Plugin.
FORM_STORE_BINDER
public static final java.lang.String FORM_STORE_BINDER = "storeBinder";
Property key used in in Form Field Element to retrieve Form Sore Binder Plugin.
Utility Methods
getElement
public org.joget.apps.form.model.Element getElement()
Gets the form field element which own this binder.
setElement
public void setElement(org.joget.apps.form.model.Element element)
Sets the form field element which own this binder.
Interface
org.joget.apps.form.model.FormLoadBinder
- 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.
Interface Methods
load
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.
org.joget.apps.form.model.FormLoadElementBinder
- 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.
org.joget.apps.form.model.FormLoadMultiRowElementBinder
- 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.
org.joget.apps.form.model.FormStoreBinder
- Under wflow-core module
- A Form Store Binder stores data from an element and its children into a data source.
Interface Methods
store
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.
org.joget.apps.form.model.FormStoreElementBinder
- 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.
org.joget.apps.form.model.FormStoreMultiRowElementBinder
- 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.
org.joget.apps.form.model.FormLoadOptionsBinder
- Under
wflow-core
module. - Extends org.joget.apps.form.model.FormLoadBinder.
- 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".
org.joget.apps.form.model.FormAjaxOptionsBinder
- Under wflow-core module
- This interface indicate that a Form Options Binder support retrieving options using AJAX
- Must use together with org.joget.apps.form.model.FormLoadOptionsBinder.
- Each FormRow object return by FormRowSet object should contains key "value" and "label".
Interface Methods
useAjax
public boolean useAjax()
Use to decide this field is using AJAX to load its options or not.
loadAjaxOptions
public org.joget.apps.form.model.FormRowSet loadAjaxOptions(java.lang.String[] dependencyValues);
Retrieve options based on dependency values.
org.joget.apps.form.model.FormDataDeletableBinder
- Under wflow-core module
- This interface indicate that the form data load by Form Load Binder is deletable from Form Data table.
Interface Methods
getFormId
public java.lang.String getFormId()
Get Form Id of the loaded data.
getTableName
public java.lang.String getTableName()
Get table name of the loaded data.
Plugin Properties Options
-
Please refer to Plugin Properties Options for more information.
Tutorials
- Guideline for Developing a Plugin
- How to develop a JDBC Options Binder
- How to develop a JDBC Form Load Binder
- How to develop a JDBC Form Store Binder
- File Upload Form Element Integrated with Amazon S3
Related Community Plugins
- 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)