Versions Compared

Key

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

...

Code Block
languagejs
titleAll available configuration
linenumberstrue
collapsetrue
{
    builder : {
        callbacks : { //methods name to call
            initBuilder : "", //call after initialized the builder. 
            load : "", //Call to load the definition JSON
            saveEditProperties : "", //Call after save edit properties event is trigger 
            cancelEditProperties : "" //Call after cancel edit properties event is trigger
        }
    },
    advanced_tools : { //configure the advanced tools available 
        tree_viewer : { //tree viewer to view the tree structure of the definition
            disabled : false, //to disable this tool
            childs_properties : ["elements"], //the property name which hold editable plugins
            matchers : { //matchers to customize the tree viewer
                'sample' : { //sample matcher
                    match : function (viewer, deferreds, node, jsonObj, refObj) {
                        //do something

                        return false;
                    }
                }
            }
        },
        usage : { //to check usage of the definition of this builder
            disabled : false  //to disable this tool
        },
        i18n : { //to provide i18n editor for this builder
            disabled : false, //to disable this tool
            keywords : [ //The property names which allowed for i18n 
                "label"
            ]
        },
        permission : { //to provide permission editor for this builder
            disabled : false, //to disable this tool
            permission_plugin : "org.joget.apps.form.model.FormPermission", //the permission plugin class used for this builder
            authorized : { //configure the authorized section
                property : "", //the property name to store the authorized section value
                default_value : "", //the default value for authorized property
                options : [ //the sample option for authorized section
                    {
                        key : "vissible",
                        value : "",
                        label : get_cbuilder_msg("ubuilder.visible")
                    },
                    {
                        key : "hidden",
                        value : "true",
                        label : get_cbuilder_msg("ubuilder.hidden")
                    }
                ]
            },
            unauthorized : { //configure the unauthorized section
                property : "", //the property name to store the unauthorized section value
                default_value : "", //the default value for unauthorized property
                options : [ //the sample option for unauthorized section
                    {
                        key : "vissible",
                        value : "",
                        label : get_cbuilder_msg("ubuilder.visible")
                    },
                    {
                        key : "hidden",
                        value : "true",
                        label : get_cbuilder_msg("ubuilder.hidden")
                    }
                ]
            },
            element_label_callback : "", //Method name to call for customize the element label
            element_support_plugin : [], //Plugin class name which support permission plugin configuration
            display_element_id : false, //to enable/disable to display the element id beside the element label
            childs_properties : ["elements"], //The property name to loop the child elements(plugins)
            ignore_classes : [], //The plugin class name to skip in the loop of child elements(plugins)
            render_elements_callback : "" //The method name to call to customize the rendering of child elements(plugins)
        },
        customTabsCallback : "" //Method name to call to render additional tabs in Advanced Tools. 
    }
}


getBuilderJS
public String getBuilderJS(String contextPath, String buildNumber);

The JS files used in the builder. Please refer Sample Plugins on how to implement this method.

getBuilderCSS
public String getBuilderCSS(String contextPath, String buildNumber);

The CSS files used in the builder. Please refer Sample Plugins on how to implement this method.

getBuilderHTML
public String getBuilderHTML(BuilderDefinition def, String json, HttpServletRequest request, HttpServletResponse response);

The HTML of builder. Please refer Sample Plugins on how to implement this method.

getBuilderResult
public Object getBuilderResult(String json, Map<String, Object> config);

Retrieve the builder end result based on json definition. Please refer Sample Plugins on how to implement this method.

Plugin Properties Options

...