Usages

ตามธรรมเนียม

Abstract Class

ชั้นนามธรรม

org.joget.apps.form.model.Element

Method Detail

รายละเอียดวิธีการ

Abstract Methods
วิธีการเชิงนามธรรม
renderTemplate
public abstract java.lang.String renderTemplate(org.joget.apps.form.model.FormData formData, java.util.Map dataModel)

HTML template for front-end UI.

Parameters:

Overridable Methods
วิธีการ overridable
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.

วิธีที่ดึงข้อมูลฟอร์มที่โหลดหรือส่งและจัดรูปแบบสำหรับ store binder ข้อมูลที่จัดรูปแบบจะถูกจัดเก็บและส่งคืนใน FormRowSet

formatDataForValidation
public 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, "Error!!");
render
public java.lang.String render(org.joget.apps.form.model.FormData formData, 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:

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

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

Parameters:

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

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

Parameters:

continueValidation
public boolean continueValidation(org.joget.apps.form.model.FormData formData)

Flag to indicate whether or not continue validating descendent elements.

ตั้งค่าสถานะเพื่อระบุว่าจะตรวจสอบความถูกต้องขององค์ประกอบสืบทอดหรือไม่

getDynamicFieldNames
public Collection<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.

ตั้งค่าสถานะเพื่อระบุว่าผู้ใช้ที่ล็อกอินปัจจุบันได้รับอนุญาตให้ดูฟิลด์นี้ในแบบฟอร์มหรือไม่

มันใช้คีย์คุณสมบัติ "การอนุญาต" เพื่อดึงปลั๊กอินการอนุญาตแบบฟอร์ม

Utility Methods
วิธีการยูทิลิตี้
getChildren
public java.util.Collection<org.joget.apps.form.model.Element> getChildren()

Retrieves all children form field element under this field

ดึงฟอร์มลูกทุกฟอร์มในรูปแบบองค์ประกอบเขตข้อมูลภายใต้ฟิลด์นี้

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

Retrieves all children form field element under this field

ดึงฟอร์มลูกทุกฟอร์มในรูปแบบองค์ประกอบเขตข้อมูลภายใต้ฟิลด์นี้

setChildren
public void setChildren(java.util.Collection<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

รับโหลด binder

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

Set load binder

ตั้งค่าโหลด binder

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

Gets an Options Binder

รับตัวเลือก Binder

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

Sets an Options Binder

ตั้งค่า Binder ตัวเลือก

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

Gets a Store Binder

รับ Store Binder

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

Sets a Store Binder

ตั้งค่า Store Binder

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

Gets a validator

รับตัวตรวจสอบความถูกต้อง

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

รายละเอียดของฟิลด์

Constants 
ค่าคงที่
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.

รหัสคุณสมบัติที่ใช้เพื่อดึงข้อมูล ID ฟิลด์ในฟอร์มย่อยที่ใช้ในการจัดเก็บแบบฟอร์มหลักของคีย์เป็นคีย์ต่างประเทศ


Method Detail

รายละเอียดวิธีการ

Overridable Methods
วิธีการ overridable
loadSubForm
protected 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 "formDefId" or "json" to construct the Form object.

ดึงวัตถุแบบฟอร์มเป็นแบบฟอร์มย่อย วิธีนี้จะใช้ค่าจากคีย์คุณสมบัติ "formDefId" หรือ "json" เพื่อสร้างวัตถุแบบฟอร์ม

updateElementParameterNames
protected void updateElementParameterNames(org.joget.apps.form.model.Element element, 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_PARENT_SUBFORM_ID.

อัปเดตค่าเขตข้อมูลฟอร์มหลักด้วยคีย์หลักของฟอร์มย่อยตามรหัสคุณสมบัติของ PROPERTY_PARENT_SUBFORM_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.

อัปเดตค่าฟิลด์ฟอร์มย่อยด้วยคีย์หลักของฟอร์มหลักโดยยึดตามคีย์คุณสมบัติของ PROPERTY_SUBFORM_PARENT_ID คงที่นี้

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

Check the subform is not exist in the parent elements tree.

ตรวจสอบว่าฟอร์มย่อยไม่มีอยู่ในแผนผังองค์ประกอบพาเรนต์

getSubForm
protected org.joget.apps.form.model.Form getSubForm(org.joget.apps.form.model.FormData formData)

Get From object from its children.

รับฟอร์ม object จากฟอร์มลูก ๆ

Interface

อินเตอร์เฟซ

org.joget.apps.form.model.FormBuilderPaletteElement

Method Detail

รายละเอียดวิธีการ

Interface Methods
วิธีการเชื่อมต่อ
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.

ตำแหน่ง Ordering Palette ที่จะแสดงตามค่าตำแหน่งในลำดับจากน้อยไปหามากสำหรับหมวดหมู่

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.

Path ไปที่ไอคอนสำหรับองค์ประกอบในชุดเครื่องมือสร้างแบบฟอร์ม Path นี้สัมพันธ์กับPath ส่งคืน 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 org.joget.apps.form.model.Element.

ตั้งค่าตัวเลือกคุณสมบัติปลั๊กอินเริ่มต้นให้เป็นฟิลด์ที่เพิ่มใหม่ในเครื่องมือสร้างแบบ วิธีนี้ถูกนำมาใช้ใน 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

เทมเพลต HTML ที่ใช้สำหรับแสดงฟิลด์ที่เพิ่มใหม่ในเครื่องมือสร้างแบบฟอร์ม

org.joget.apps.form.model.FormContainer

org.joget.apps.form.model.FormOptionsElement

org.joget.apps.form.model.FormAjaxOptionsElement

Method Detail

รายละเอียดวิธีการ

Interface Methods
วิธีการเชื่อมต่อ
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

Method Detail

รายละเอียดวิธีการ

Interface Methods
วิธีการเชื่อมต่อ
loadFormRows
public org.joget.apps.form.model.FormRowSet loadFormRows(String[] primaryKeyValues, org.joget.apps.form.model.FormData formData)

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

ดึงแถวข้อมูลแบบฟอร์มสำหรับอาร์เรย์ของค่าคีย์หลักที่ระบุ

Plugin Properties Options

ตัวเลือกคุณสมบัติปลั๊กอิน

Mandatory Property

คุณสมบัติบังคับ

id 

    {
        name : 'id',
        label : '@@form.textfield.id@@',
        type : 'textfield',
        required : 'True',
        regex_validation : '^[a-zA-Z0-9_]+$',
        validation_message : '@@form.textfield.invalidId@@'
    }

Predefined Property  

คุณสมบัติที่กำหนดไว้ล่วงหน้า

loadBinder

    {
        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'
    }

optionsBinder

    {
        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

    {
        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

    {
        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'
    }

readonly

    {
        name : 'readonly',
        label : '@@form.checkbox.readonly@@',
        type : 'checkbox',
        value : 'false',
        options : [{
            value : 'true',
            label : ''
        }]
    }

readonlyLabel

    {
        name : 'readonlyLabel',
        label : '@@form.checkbox.readonlyLabel@@',
        type : 'checkbox',
        value : 'false',
        options : [{
            value : 'true',
            label : ''
        }]
    }

workflowVariable

    {
        name : 'workflowVariable',
        label : '@@form.checkbox.workflowVariable@@',
        type : 'textfield'
    }

value

    {
        name : 'value',
        description : '@@form.checkbox.value.desc@@',
        label : 'Default @@form.checkbox.value@@',
        type : 'textfield'
    }
validator

Form Field Element Template Sample

ตัวอย่างเทมเพลตองค์ประกอบฟิลด์ของฟอร์ม

Following is a sample Form Field Template of a Text Field element. It is constructed using FreeMaker syntax. This template will be used and returned by renderTemplate method.

ต่อไปนี้เป็นตัวอย่างแม่แบบฟิลด์ขององค์ประกอบ Text Field มันถูกสร้างขึ้นโดยใช้ไวยากรณ์ FreeMaker เทมเพลตนี้จะใช้และส่งคืนโดยวิธี renderTemplate

    @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;
    }

  

<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

Tutorials

สอน

Related Community Plugins

ปลั๊กอินที่เกี่ยวข้อง