Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Usages

Abstract Class

用法

...

抽象类

org.joget.

...

apps.

...

form.model

...

.Element

  • 在wflow-core模块下
  • 扩展org.joget.plugin.base.ExtDefaultPlugin。请参阅  插件抽象类和接口
  • 已实现org.joget.plugin.property.model.PropertyEditable。请参阅  插件抽象类和接口
  • 一个基本的抽象类来开发一个表单域元素插件。 
  • 所有的表单,容器和表单域都必须扩展这个类。

方法细节

抽象方法

Method Detail

...

renderTemplate
public abstract java.lang.String renderTemplate(org.joget.apps.form.model.FormData formData, javaformData,java.util.Map dataModel)

HTML template for front-end UI.

前端用户界面的HTML模板。

参数:Parameters:

  • dataModel -  Model containing values to be displayed in the template.
Overridable Methods
formatData
  • 包含要在模板中显示的值的模型。
可重写的方法
FormatData
public org.joget.apps.form.model.FormRowSet formatData(org.joget.apps.form.model.FormData formData)

Method that retrieves loaded or submitted form data, and formats it for a store binder. The formatted data is to be stored and returned in a FormRowSet.

formatDataForValidation

检索加载或提交的表单数据并为商店资料夹设置格式的方法。格式化的数据将被存储并返回到FormRowSet中。

formatDataForValidation
public org.joget.apps.form.modelpublic org.joget.apps.form.model.FormData formatDataForValidation(org.joget.apps.form.model.FormData formData)

Method for override to perform format data in request parameter before execute validation在执行验证之前,用于在请求参数中执行格式数据的覆盖方法

selfValidate
public java.lang.Boolean selfValidate(org.joget.apps.form.model.FormData formData)

Method for override to perform specify validation for this field.

Error message can display with following code:

用于覆盖的方法为该字段执行指定验证。

错误消息可以显示以下代码:

String id = FormUtil.getElementParameterName(this);
formData.addFormError(id, id,"Error !!");
render
public java.lang.String render(org.joget.apps.form.model.FormData formData, javaformData,java.lang.Boolean includeMetaData)

Render HTML template for UI, with option for form builder design mode. This method will call abstract method renderTemplate for rendering.

Parameters:

呈现用于UI的HTML模板,并具有表单构建器设计模式的选项。这个方法将调用抽象方法  renderTemplate  进行渲染。

参数:

  • includeMetaData - 设置为true来呈现Form Builder所需的额外元。includeMetaData - set true to render additional meta required for the Form Builder.
renderErrorTemplate
public java.lang.String renderErrorTemplate(org.joget.apps.form.model.FormData formData, java.formData,java.util.Map dataModel)

HTML template with errors for front-end UI. This method will call abstract method renderTemplate for rendering.

Parameters:

包含前端用户界面错误的HTML模板。这个方法将调用抽象方法  renderTemplate  进行渲染。

参数:

  • dataModel - 包含要在模板中显示的值的模型。dataModel - Model containing values to be displayed in the template.
renderReadOnlyTemplate
public java.lang.String renderReadOnlyTemplate(org.joget.apps.form.model.FormData formData, javaformData,java.util.Map dataModel)

Read-only HTML template for front-end UI (Not used at the moment)

Parameters:

用于前端UI的只读HTML模板(目前未使用)

参数:

  • dataModel - 包含要在模板中显示的值的模型。dataModel - Model containing values to be displayed in the template.
continueValidation
public boolean continueValidation(org.joget.apps.form.model.FormData formData)

Flag to indicate whether or not continue validating descendent elements.标记以指示是否继续验证后代元素。

getDynamicFieldNames
public Collection Collection<java<java.lang.String> getDynamicFieldNames()

Used to create multiple form data column in database by returning extra column names.用于通过返回额外的列名称在数据库中创建多个表单数据列。

hasError
public java.lang.Boolean hasError(org.joget.apps.form.model.FormData formData)

Flag to indicate whether or not this field has fail the validation process标记以指示该字段是否通过了验证过程

isAuthorize
public java.lang.Boolean isAuthorize(org.joget.apps.form.model.FormData formData)

Flag to indicate whether or not the current logged in user is authorized to view this field in the form.

It used property key "permission" to retrieve Form Permission plugin.

...

标记以指示当前登录用户是否有权在表单中查看该字段。

它使用属性键"权限"来检索表单权限插件。

效用方法
getChildren
public java.util.Collection<orgCollection <org.joget.apps.form.model.Element> getChildren()

Retrieves all children form field element under this field检索此字段下的所有子表单字段元素

getChildren
public void setChildren(java.util.Collection<orgCollection <org.joget.apps.form.model.Element> children)

Retrieves all children form field element under this field检索此字段下的所有子表单字段元素

setChildren
public void setChildren(java.util.Collection<orgCollection <org.joget.apps.form.model.Element> children)

Sets form fields as children of this field将表单字段设置为此字段的子项

getParent
public org.joget.apps.form.model.Element getParent() 

Returns the immediate parent for this element.返回此元素的直接父项。

setParent
public void setParent(org.joget.apps.form.model.Element parent)

Sets the immediate parent for this element.设置此元素的直接父级。

getPrimaryKeyValue
public java.lang.String getPrimaryKeyValue(org.joget.apps.form.model.FormData formData)

Returns the primary key value for the current element. Defaults to the primary key value of the form.返回当前元素的主键值。默认为表单的主键值。

getLoadBinder
public org.joget.apps.form.model.FormLoadBinder getLoadBinder()

Get load binder获取加载绑定器

setLoadBinder
public void setLoadBinder(org.joget.apps.form.model.FormLoadBinder loadBinder)

Set load binder设置装订夹

getOptionsBinder
public org.joget.apps.form.model.FormLoadBinder getOptionsBinder()

获取选项活页夹

Gets an Options Binder

setOptionsBinder
public void setOptionsBinder(org.joget.apps.form.model.FormLoadBinder optionsBinder)

Sets an Options Binder设置选项活页夹

getStoreBinder
public org.joget.apps.form.model.FormStoreBinder getStoreBinder()

Gets a Store Binder获取商店活页夹

setStoreBinder
public void setStoreBinder(org.joget.apps.form.model.FormStoreBinder storeBinder)

Sets a Store Binder设置商店活页夹

getValidator
public org.joget.apps.form.model.Validator getValidator()

Gets a validator获取验证器

setValidator
setValidator将
public void setValidator(org.joget.apps.form.model.Validator validator)

Sets a validator设置一个验证器

getCustomParameterName
public java.lang.String getCustomParameterName()

If non-null, this is to be used as the HTML input name for the element.如果非null,则将其用作元素的HTML输入名称。

setCustomParameterName
public void setCustomParameterName(java.lang.String customParameterName)

Sets a custom parameter name for the HTML input name of the element.为元素的HTML输入名称设置自定义参数名称。

getDefaultPropertyValues
public java.lang.String getDefaultPropertyValues()

Set default Plugin Properties Options value to a new added Field in Form Builder.将默认插件属性选项值设置为在窗体生成器中添加一个新的字段。

org.joget.apps.form.model.AbstractSubForm

Field Detail

...

字段细节

常量 
PROPERTY_PARENT_SUBFORM_ID
public static final String PROPERTY_PARENT_SUBFORM_ID = "parentSubFormId";

Property key that use to retrieve the field id in parent form used to store subform primary key as reference key. 用于检索父窗体中的字段ID的属性键,用于将子窗体主键存储为引用键。 

PROPERTY_SUBFORM_PARENT_ID
public static final String PROPERTY_SUBFORM_PARENT_ID = "subFormParentId";

Property key that use to retrieve the field id in subform used to store parent form primary key as foreign key. 

Method Detail

...

用于检索子窗体中的字段ID的属性键,用于将父窗体主键存储为外键。 

方法细节

可重写的方法
loadSubForm
protected org受保护的org.joget.apps.form.model.Form loadSubForm(org.joget.apps.form.model.FormData parentFormData) throws org.springframework.beans.BeansException

Retrieve a Form object as subform. This method will use either value from property key 以表格形式检索Form对象。此方法将使用属性键"formDefId" or "json" to construct the Form object.中的任一值  来构造Form对象。

updateElementParameterNames
protected void updateElementParameterNames(org.joget.apps.form.model.Element element, javaelement,java.lang.String prefix)

Update all the parameter name of field elements in subform with a prefix使用前缀更新子表单中字段元素的所有参数名称

populateParentWithSubFormKey
protected void populateParentWithSubFormKey(org.joget.apps.form.model.FormData formData)

Update parent form field value with primary key of subform based on property key of this constant PROPERTY根据此常数PROPERTY_PARENT_SUBFORM_ID.ID的属性键,使用子窗体的主键更新父窗体字段值 

populateSubFormWithParentKey
protected void populateSubFormWithParentKey(org.joget.apps.form.model.FormData formData)

Update subform field value with primary key of parent form based on property key of this constant 根据此常量PROPERTY_SUBFORM_PARENT_ID.ID的属性键,使用父表单的主键更新子表单字段值 

checkForRecursiveForm
protected boolean checkForRecursiveForm(org.joget.apps.form.model.Element e, javae,java.lang.String id)

Check the subform is not exist in the parent elements tree.检查子表单不存在于父元素树中。

getSubForm
protected org受保护的org.joget.apps.form.model.Form getSubForm(org.joget.apps.form.model.FormData formData)

Get From object from its children.

...

从其子对象获取对象。

接口

org.joget.apps.form.model.FormBuilderPaletteElement

  • Under wflow在wflow-core modulecore模块下
  • Extends interface org扩展接口org.joget.apps.form.model.FormBuilderEditable.
  • Interface that describes meta information used for adding an element into the Form Builder palette.

Method Detail

...

  • FormBuilderEditable。
  • 描述用于将元素添加到Form Builder调色板中的元信息的接口。

方法细节

接口方法
getFormBuilderCategory
public java.lang.String getFormBuilderCategory()

Category for the element in the Form Builder palette“表单构建器”调板中元素的类别

getFormBuilderPosition
public int getFormBuilderPosition()

Ordering position. Palette to display based on the position value in ascending order for a category.

订购位置。调色板根据位置值以类别的升序显示。

getFormBuilderIcon
public java.lang.String getFormBuilderIcon()

Path to icon for the element in the Form Builder palette. This path is relative to the context path. Return NULL to use the default icon.“窗体构建器”调板中元素的图标路径。这条路径是相对于上下文路径的。返回NULL以使用默认图标。

getDefaultPropertyValues
public jva.lang.String getDefaultPropertyValues()

Set default Plugin Properties Options value to a new added Field in Form Builder. This method is implemented in Form Field Element Plugin.将默认插件属性选项值设置为在窗体生成器中添加一个新的字段。这个方法在org.joget.apps.form.model.Element中实现

getFormBuilderTemplate
public java.lang.String getFormBuilderTemplate()

HTML template used for display a new added field in the Form Builder用于在Form Builder中显示新添加字段的HTML模板

org.joget.apps.form.model.FormContainer

  • Under wflow在wflow-core module

  • This interface indicate that a Form Field Element is a container and should not create a form data column in database.

  • core模块下

  • 这个接口表明一个表单域元素是一个容器,不应该在数据库中创建一个表单数据列。

  • 在这个界面中没有可用的接口方法No interface method is available in this interface

org.joget.apps.form.model.FormOptionsElement

  • Under wflow在wflow-core module

  • This interface indicate that a Form Field Element is a multi options field such as Select Box, Check Box & Radio Button. It can use Form Options Binder to populate its options.

  • core模块下

  • 此界面表明,表单域元素是一个多选项字段,如选择框,复选框和单选按钮。它可以使用表单选项 活页夹来填充它的选项。

  • 在这个界面中没有可用的接口方法No interface method is available in this interface

org.joget.apps.form.model.FormAjaxOptionsElement

Method Detail

...

  •  来使用AJAX填充它的选项。

方法细节

接口方法
getControlElement
public org.joget.apps.form.model.Element getControlElement(org.joget.apps.form.model.FormData formData)

Get dependent field element which use to control the options of this field获取用于控制此字段的选项的相关字段元素

org.joget.apps.form.model.FormReferenceDataRetriever

  • Under wflow在wflow-core module

  • Indicate that this field hold the primary keys for other form data records. The reference records can be retrieve using its interface method.
  • core模块下

  • 指出该字段包含其他表单数据记录的主键。引用记录可以使用其接口方法进行检索。
  •  This interface is used by org.joget.apps.form.service.FormUtil.loadFormData() and 和  org.joget.apps.form.service.FormUtil.loadFormDataJson() method to fetch submitted form data values including data from subforms, and reference fields.

Method Detail

...

  • 方法使用该接口  来提取表单数据值,包括子表单中的数据和引用领域。

方法细节

接口方法
loadFormRows
public org.joget.apps.form.model.FormRowSet loadFormRows(String [] primaryKeyValues, orgprimaryKeyValues,org.joget.apps.form.model.FormData formData)

Retrieve form data rows for an array of specified primary key values.

Plugin Properties Options

  • The following are some mandatory properties and system predefined properties can be used in your Plugin Properties Options JSON file. Please refer to 插件属性选项与配置 for more information.

Mandatory Property

id 

检索指定主键值数组的表单数据行。

插件属性选项

  • 以下是一些必需的属性,系统预定义的属性可用于您的插件属性选项JSON文件。有关更多信息,请参阅  插件属性选项和配置

必要属性 

ID 

    • 所有表单元素字段必须具有此属性出现在属性选项JSON中。
    • 这被用作表单中字段的唯一标识符。
    • All Form Element Field must has this property appear in the Properties Options JSON.
    • This is used as unique identifier of a field in a form.  
Code Block
languagejs
    {
 name:'loadBinder',
 label:'@@form.subform.loadBinder@@',
 type:'elementselect',
 options_ajax:'[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormLoadElementBinder',
 url:'[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions',
 value:'org.joget.apps.form.lib.WorkflowFormBinder',
 required:'True'
}

预定义的属性  

loadBinder

  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以选择“表单加载活页夹”。
  • 该属性的值将自动转换成表单加载活页夹插件,并可以通过getLoadBinder  方法检索插件   
Code Block
 {
 name : 'optionsBinder',
 label       name : 'id',
        label : '@@form.textfield.id@@',
        type : 'textfield',
        required : 'True',
        regex_validation : '^[a-zA-Z0-9_]+$',
        validation_message : '@@form.textfieldcheckbox.invalidId@@chooseOptionsBinder@@',
 type   }

Predefined Property  

loadBinder

  • If this property appear in the Properties Options JSON, admin user is able to choose a Form Load Binder.
  • The value of this property will auto convert into Form Load Binder Plugin and the plugin can be retrieved by Form Field Element Plugin method. 
Code Block
    {
        name:'loadBinder',
        label:'@@form.subform.loadBinder@@',
        type:'elementselect',
        options_ajax:: 'elementselect',
 options_ajax : '[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormLoadElementBinder',
        url:'[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions',
        value:'org.joget.apps.form.lib.WorkflowFormBinder',
        required:'True'
    }

optionsBinder

  • If this property appear in the Properties Options JSON, admin user is able to choose a Form Options Binder.
  • The value of this property will auto convert into Form Options Binder Plugin and the plugin can be retrieved by Form Field Element Plugin method.

Code Block
    {
        name : 'optionsBinder',
        label : '@@form.checkbox.chooseOptionsBinder@@',
        type : 'elementselect',
        options_ajax : '[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormLoadOptionsBinder',
        url : '[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions'
    }

permission

  • If this property appear in the Properties Options JSON, admin user is able to choose a Form Permission.
  • The value of this property will auto convert into Form Permission Plugin and the plugin is used by isAuthorize method.
Code Block
    {
        name:'permission',
        label:'@@form.form.permission@@',
        type:'elementselect',
        options_ajax:'[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormPermission',
        url:'[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions'
    }

storeBinder

  • If this property appear in the Properties Options JSON, admin user is able to choose a Form Store Binder.
  • The value of this property will auto convert into Form Store Binder Plugin and the plugin can be retrieved by getSoreBinder method.
apps.form.model.FormLoadOptionsBinder',
 url : '[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions'
}

optionsBinder

  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以选择“表单选项”活页夹。
  • 该属性的值将自动转换成表单选项活页夹插件,该插件可以通过getOptionsBinder  方法检索     

Code Block
 {  名称:'optionsBinder',  标签:'@@ form.checkbox.chooseOptionsBinder @@',  键入:'elementselect',  options_ajax:'[CONTEXT_PATH] 
Code Block
    {
        name:'storeBinder',
        label:'@@form.form.storeBinder@@',
        type:'elementselect',
        options_ajax:'[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormStoreElementBinderFormLoadOptionsBinder',
        url:,  url:'[CONTEXT_PATH] / web / property / json [APP_PATH] / getPropertyOptions'
     }

readonly

  • System use this property to flag a field a readonly. 
  • If this property appear in the Properties Options JSON, admin user can force this field to display as readonly.
  • This value is ignored if the parent form is set to readonly
Code Block
    {
        name : 'readonly',
        label : '@@form.checkbox.readonly@@',
        type : 'checkbox',
        value : 'false',
        options : [{
            value : 'true',
            label : ''
        }]
    }

readonlyLabel

  • System use this property to flag a field a readonly field should display as label or not. 
  • If this property appear in the Properties Options JSON, admin user can force this field to display as label when it is readonly.
  • This value is ignored if the parent form is set to display as label when it is readonly

permission

  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以选择“表单权限”。
  • 这个属性的值将自动转换成Form Permission Plugin,这个插件被  isAuthorize  方法使用
Code Block
 {
 name:'permission',
 label:'@@form.form.permission@@',
 type:'elementselect',
 options_ajax:'[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormPermission',
 url:'[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions'
}

storeBinder

  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以选择一个表单存储区活页夹。
  • 这个属性的值会自动转换成Form Store Binder插件,插件可以通过getSoreBinder  方法来获取     
Code Block
 {
 name:'storeBinder',
 label:'@@form.form.storeBinder@@',
 type:'elementselect',
 options_ajax:'[CONTEXT_PATH]/web/property/json/getElements?classname=org.joget.apps.form.model.FormStoreElementBinder',
 url:'[CONTEXT_PATH]/web/property/json[APP_PATH]/getPropertyOptions'
}

只读

  • 系统使用此属性来标记一个字段只读。 
  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以强制该字段显示为只读。
  • 如果父窗体设置为只读,则此值将被忽略
Code Block
 {
 name : 'readonly',
 label : '@@form.checkbox.readonly@@',
 type : 'checkbox',
 value : 'false',
 options : [{
 value : 'true',
 label : ''
 }]
}

readonlyLabel

  • 系统使用此属性来标记只读字段应该显示为标签的字段。 
  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以强制该字段在只读时显示为标签。
  • 如果父窗体是只读的,则该值被忽略
Code Block
 {
Code Block
    {
        name : 'readonlyLabel',
        label : '@@form.checkbox.readonlyLabel@@',
        type : 'checkbox',
        value : 'false',
        options : [{
            value : 'true',
        value :  'true',
 label : ''
        }]
    }

workflowVariable

  • If this property appear in the Properties Options JSON, admin user is set to store this field value to a workflow variable.
  • The value of this field will auto set to the mentioned workflow variable if the Form Store Binder is set to 工作流表单绑定器.
  • 如果此属性显示在“属性选项JSON”中,则管理员用户设置为将此字段值存储到工作流程变量。
  • 如果Form Store Binder设置为工作流表单绑定器,则该字段的值将自动设置为所提到的工作流变量 
Code Block
 {
Code Block
    {
        name : 'workflowVariable',
        label : '@@form.checkbox.workflowVariable@@',
        type : 'textfield'
    }

value

  • 如果此属性显示在“属性选项JSON”中,则admin用户可以为此字段设置默认值。If this property appear in the Properties Options JSON, admin user is able to set a default value for this field.
Code Block
    {
        name : 'value',
        description : '@@form.checkbox.value.desc@@',
        label : 'Default @@form.checkbox.value@@',
        type : 'textfield'
    }
validator
  • If this property appear in the Properties Options JSON, admin user is able to choose a Form Validator.
  • The value of this property will auto convert into Form Validator Plugin and the plugin can be retrieved by Form Field Element Plugin method. 

Form Field Element Template Sample

验证器
  • 如果此属性显示在“属性选项JSON”中,则管理员用户可以选择“表单验证器”。
  • 这个属性的值会自动转换成表单验证器插件,插件可以通过getValidator方法获取     

表单字段元素模板示例

以下是文本字段元素的示例表单字段模板  它使用FreeMaker语法构造。这个模板将被renderTemplate方法使用并返回  Following is a sample Form Field Template of a 文本字段 element. It is constructed using FreeMaker syntax. This template will be used and returned by Form Field Element Plugin method.

Code Block
languagejava
    @Override
    public String renderTemplate(FormData formData, Map dataModel) {
        String templateName = "textField.ftl";
 
        // set value
        String value = FormUtil.getElementPropertyValue(this, formData);
        dataModel.put("value", value);
 
        String html = FormUtil.generateElementHtml(this, formData, templateName, dataModel);
        return html;
    }

  

Code Block
languagexml
<div class="form-cell" ${elementMetaData!}>
    <label class="label">
        ${element.properties.label} <span class="form-cell-validator">${decoration}</span>
        <#if error??>
            <span class="form-error-message">${error}</span>
        </#if>
    </label>
    <#if (element.properties.readonly! == 'true' && element.properties.readonlyLabel! == 'true') >
        <div class="form-cell-value"><span>${value!?html}</span></div>
        <input id="${elementParamName!}" name="${elementParamName!}" type="hidden" value="${value!?html}" />
    <#else>
        <input id="${elementParamName!}" name="${elementParamName!}" type="text" size="${element.properties.size!}" value="${value!?html}" maxlength="${element.properties.maxlength!}" <#if error??>class="form-error-cell"</#if> <#if element.properties.readonly! == 'true'>readonly</#if> />
    </#if>
</div>

Explanations

说明

    • 表单字段元素模板应该用“form-cell”类包装在div下。A form field element template should be wrapped under a div with "form-cell" class.
    • $ {elementMetaData!} need to put in the elementMetaData!}需要放在“.form-cell”div中。它由Form Builder使用。".form-cell" div. It is used by Form Builder.

    • A useable field element template must handle the following states of a field. 
      • Has errors
      • Readonly
      • Readonly and needed to display as label
      • Normal display

Tutorials

Related Community Plugins

    • 可用的字段元素模板必须处理字段的以下状态。 
      • 有错误
      • 只读
      • 只读,需要显示为标签
      • 正常显示

教程

相关的社区插件

  • 复选框Check Box
    org.joget.apps.form.lib.CheckBox(wflow-core)
  • 自定义HTMLCustom HTML
    org.joget.apps.form.lib.CustomHTML CustomHTML(wflow-core)
  • 日期选择器Date Picker
    org.joget.apps.form.lib.DatePicker DatePicker(wflow-core)
  • 文件上传File Upload
    org.joget.apps.form.lib.FileUpload FileUpload(wflow-core)
  • 网格Grid
    org.joget.apps.form.lib.Grid Grid(wflow-core)
  • 隐藏字段Hidden Field
    org.joget.apps.form.lib.HiddenField HiddenField(wflow-core)
  • Id生成器字段Id Generator Field
    org.joget.apps.form.lib.IdGeneratorField IdGeneratorField(wflow-core)
  • 密码字段Password Field
    org.joget.apps.form.lib.PasswordField PasswordField(wflow-core)
  • 单选按钮Radio Button
    org.joget.apps.form.lib.Radio Radio(wflow-core)
  • 选择框Select Box
    org.joget.apps.form.lib.SelectBox SelectBox(wflow-core)
  • Subform
    org表单org.joget.apps.form.lib.SubForm SubForm(wflow-core)
  • 文本区域Text Area
    org.joget.apps.form.lib.TextArea TextArea(wflow-core)
  • 文本字段Text Field
    org.joget.apps.form.lib.TextField TextField(wflow-core)