FormService

Description

  • org.joget.apps.form.service.FormService
  • Under wflow-core module
  • Service methods used to create form from json and perform form feature actions

 

Code Sample

import org.joget.apps.app.dao.FormDefinitionDao;
import org.joget.apps.app.model.FormDefinition;
import org.joget.apps.app.model.AppDefinition;
import org.joget.apps.app.service.AppUtil;
import org.joget.apps.form.model.Form;
import org.joget.apps.form.service.FormService;
  
AppService appService = (AppService) AppUtil.getApplicationContext().getBean("appService");
FormDefinitionDao formDefinitionDao = (FormDefinitionDao) AppUtil.getApplicationContext().getBean("formDefinitionDao");
FormService formService = (FormService) AppUtil.getApplicationContext().getBean("formService");
 
String id = "crm_account";
String appId = "crm";
Long appVersion = appService.getPublishedVersion(appId);
   
AppDefinition appDef = appService.getAppDefinition(appId, appVersion.toString());
FormDefinition formDef = formDefinitionDao.loadById(formId, appDef);
if (formDef != null) {
    //create the form
    Form form = (Form) formService.createElementFromJson(formDef.getJson(), true);
}

 

Fields

PREFIX_FOREIGN_KEY

public java.lang.String PREFIX_FOREIGN_KEY = "fk_";

Prefix of a request parameter used to set the value of a form field and change the field to a read-only field.

 

PREFIX_FOREIGN_KEY_EDITABLE

public java.lang.String PREFIX_FOREIGN_KEY_EDITABLE = "fke_";

Prefix of a request parameter used to set the value of a form field but without changing the field to read-only.

 

PREVIEW_MODE

java.lang.String PREVIEW_MODE = "_PREVIEW_MODE";

A key to set the FormResult as preview mode.

 

Methods

createElementFromJson

public org.joget.apps.form.model.Element createElementFromJson(java.lang.String elementJson)

Creates an element object from a JSON definition.

 

createElementFromJson

public org.joget.apps.form.model.Element createElementFromJson(java.lang.String elementJson, boolean processHashVariable)

Creates an element object from a JSON definition.

 

executeFormActions

public org.joget.apps.form.model.FormData executeFormActions(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData)

Invokes actions (e.g. buttons) in the form.

 

executeFormLoadBinders

public org.joget.apps.form.model.FormData executeFormLoadBinders(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Loads data for a specific row into an element by calling all load binders in the element.

 

executeFormOptionsBinders

public org.joget.apps.form.model.FormData executeFormOptionsBinders(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Preloads data for an element, e.g. field options, etc. by calling all option binders in the element.

 

executeFormStoreBinders

public org.joget.apps.form.model.FormData executeFormStoreBinders(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData)

Executes store binders for a form.

 

generateElementDesignerHtml

public java.lang.String generateElementDesignerHtml(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData, boolean includeMetaData)

Generates HTML for the form element to be used in the Form Builder.

 

generateElementErrorHtml

public java.lang.String generateElementErrorHtml(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Generates error HTML for the form element.

 

generateElementJson

public java.lang.String generateElementHtml(org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Generates HTML for the form element.

 

loadFormData

public org.joget.apps.form.model.Form loadFormData(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData)

Main method to load a form with data loaded.

 

loadFormFromJson

public org.joget.apps.form.model.Form loadFormFromJson(java.lang.String formJson, org.joget.apps.form.model.FormData formData)

Load a form from its JSON definition, with data loaded.

 

previewElement

public java.lang.String previewElement(java.lang.String json)

Use case to generate HTML from a JSON element definition.

 

previewElement

public java.lang.String previewElement(java.lang.String json, boolean includeMetaData)

Use case to generate HTML from a JSON element definition.

 

recursiveExecuteFormStoreBinders

public org.joget.apps.form.model.FormData recursiveExecuteFormStoreBinders(org.joget.apps.form.model.Form form, org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Recursively executes all the store binders in a form.

 

retrieveFormDataFromRequest

public org.joget.apps.form.model.FormData retrieveFormDataFromRequest(org.joget.apps.form.model.FormData formData, javax.servlet.http.HttpServletRequest request)

Retrieves form data submitted via a HTTP servlet request.

 

retrieveFormDataFromRequestMap

public org.joget.apps.form.model.FormData retrieveFormDataFromRequestMap(org.joget.apps.form.model.FormData formData, java.util.Map requestMap)

Retrieves form data submitted via a HTTP servlet request parameters map.

 

retrieveFormErrorHtml

public java.lang.String retrieveFormErrorHtml(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData)

Used to retrieves the form HTML when there is errors in form.

 

retrieveFormHtml

Used to retrieves the Form HTML. 

 

storeElementData

public org.joget.apps.form.model.FormData storeElementData(org.joget.apps.form.model.Form form, org.joget.apps.form.model.Element element, org.joget.apps.form.model.FormData formData)

Store the data of a form field element.

 

submitForm

public org.joget.apps.form.model.FormData submitForm(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData, boolean ignoreValidation)

Process form submission.

 

validateFormData

public org.joget.apps.form.model.FormData validateFormData(org.joget.apps.form.model.Form form, org.joget.apps.form.model.FormData formData)

Validates form data submitted for a specific form.

 

viewForm

public java.lang.String viewForm(org.joget.apps.form.model.Form form, java.lang.String primaryKeyValue)

Use case to load and view a form, with data loaded.

 

viewFormFromJson

public java.lang.String viewFormFromJson(java.lang.String formJson, java.lang.String primaryKeyValue)

Use case to view a form from its JSON definition, with data loaded.

Created by Damian Last modified by Aadrian on Dec 13, 2024