Joget DX Preview Release Available for Download

Check out Joget DX, the next generation successor to Joget Workflow for faster, simpler digital transformation.

Skip to end of metadata
Go to start of metadata

Keynote

  • Plugin Properties Options allow a plugin to gather configuration data from a plugin user.
  • Plugin Properties Options should be returned in the abstract method "getPropertyOptions" of each plugin.
  • Plugin Properties Options are in JSON format.

Basic Properties Options Structure 

Properties Option Types

  1. Hidden field - hidden
  2. Read only field – readonly
  3. Text field – textfield
  4. Password field – password
  5. Text Area field – textarea
  6. HTML Editor field – htmleditor
  7. Checkbox field – checkbox
  8. Radio Button field – radio
  9. Select Box field – selectbox
  10. Multi Select Box field – multiselect
  11. Element (Plugin) Select field – elementselect
  12. Grid field - grid

Properties Validator Types

  1. AJAX - ajax

Detail Attributes of Option Types 

Common Attributes for All Properties Options Types Except Hidden Field and Grid

{
    name : 'Property Name',
    label : 'Property Label',
    description : 'Property Description', //optional, default is NULL
    type : 'readonly',
    value : 'Property Value', //optional , default is empty string
    required : 'true', //optional, boolean value, default is false
}

Extra Attributes for Text Field, Password Field, Text Area and HTML Editor

{
    size : '50', //optional , integer value, default is NULL, only for text field and password field
    maxlength : '50', //optional, integer value, default is NULL, only for text field and password field
    rows : '50', //optional, integer value, default is NULL, only for text area and html editor
    cols : '50', //optional, integer value, default is NULL , only for text area and html editor
    regex_validation : '^[a-zA-Z0-9_|KB:a-zA-Z0-9_]+$', //optional, default is NULL
    validation_message : 'Error!!' //optional, default is NULL
}

Extra Attributes for Checkbox, Radio Button, Select Box and Multi Select Box, Element Select Field

{
    size : '10', //optional, integer value, default is 4, only for multi select box
    options : [//is optional to use this attribute or options_ajax
        {value: 'value1', label : 'Value 1'},
        {value: 'value2', label : 'Value 2'},
        {value: 'value3', label : 'Value 3'}
    ],
    options_ajax_on_change : 'property1', //optional, this property name and value will passed as HTTP request parameter to the URL defined in the options_ajax property
    options_ajax : 'URL to load options JSON' //optional, URL which returns the JSON Array of a set of Objects that have value & label attribute
}

Attributes for Hidden Field

{
    name : 'Property Name',
    type : 'hidden',
    value : 'Property Value'
}

Attributes for Grid

{
    name : 'Property Name',
    label : 'Property Label',
    description : 'Property Description', //optional, default is NULL
    type : 'grid',
    columns : [// 2 types of column, with and without options attribute
        {key : 'col1', label : 'Col 1'},
        {key : 'col2', label : 'Col 2',
            options :[
                {value :'option1', label : 'Option 1'},
                {value :'option2', label : 'Option 2'}
            ]
        },
    ],

   value:[    //Optional. Default is null. The name of each sub-object must match a key from the columns object above. (e.g. col1 below matches col1 in one of the columns:key names above)
       { col1 : 'abc', col2 : 'option1' },       

        {col1 : 'def', col2 : 'option2'}

    ],
    required : 'true', //optional, boolean value, default is false
}

Extra Attributes for Element Select Field

{
    options_ajax_on_change : 'property1', //optional, this property name and value will passed as HTTP request parameter to the URL defined in the options_ajax property
    options_ajax : '[KB:CONTEXT_PATH]/web/property/json/getElements?classname= org.joget.apps.form.model.FormLoadElementBinder', //Load plugin list based on class name given
    url : '[KB:CONTEXT_PATH]/web/property/json[KB:APP_PATH]/getPropertyOptions'//Load plugin properties
    keep_value_on_change : 'true' //optional, boolean value, default is false. To keep current configuration for the next selected element
}

Detail Attributes of Validator Type

 Attributes for AJAX

{
    type : 'ajax',
    url : 'URL to validate properties page value' , // All properties in the same page will send to this url to validate, URL return a JSON Object with status (success or fail) & message (JSONArray of String) attribute
    default_error_message : 'Error in this page!!' //optional, default is null
}

  • No labels