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

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

Tutorials

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)
 
Created by Damian Last modified by Aadrian on Dec 13, 2024