Usages

  • 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 org.joget.apps.form.model.FormBinder abstract class and implements one or more of the corresponding interfaces.

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

Method Detail

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.

Method Detail

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.

Method Detail

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".

Method Detail

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.

Method Detail

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)
  • No labels