Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
...
...
The builder configuration in JSON format. Used to configure the builder callback event and the advanced tools available for the builder. Full available configuration as below. Please refer refer to Sample Plugins on how to use this config.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ 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. } } |
public String getBuilderJS(String contextPath, String buildNumber);
The JS files used in the builder. Please refer to Sample Plugins on how to implement this method.
Parameters:
contextPath - the http request context path.
buildNumber - Joget platform build number
public String getBuilderCSS(String contextPath, String buildNumber);
The CSS files used in the builder. Please refer to Sample Plugins on how to implement this method.
public String getBuilderHTML(BuilderDefinition def, String json, HttpServletRequest request, HttpServletResponse response);
The HTML of builder. Please refer to Sample Plugins on how to implement this method.
Parameters:
def - the definition object to edit/load
json - the JSON definition to edit/load
public Object getBuilderResult(String json, Map<String, Object> config);
Retrieve the builder end result based on json definition. The end result can be a report PDF/HTML, an API document etc. Please refer to Sample Plugins on how to implement this method.
Parameters:
json - the JSON definition to generate the builder result.
config - the additional configuration/parameters use for generate the result.
public String createNewJSON(String id, String name, String description, BuilderDefinition copyDef);
Used to create the JSON definition of new object
public String getNameFromJSON(String json);
Retrieve name from the JSON definition
public String getDescriptionFromJSON(String json);
Retrieve description from the JSON definition
public String getCreateNewPageHtml();
HTML to add to the create new page
English |
---|
Utility methods and fields to use in the builder javascript. |
The app id of current editing
The app version of current editing
The builder object name return by the custom builder plugin
The builder object label return by the custom builder plugin
The JSON definition of current canvas
The dataobject of current canvas
The list of palette elements and its properties option and data.
To call a method by name
Parameters
To initialize the builder configuration by the platform
Parameters
To initialize the builder properties tab by the platform
Parameters
To initialize the builder by the platform
Parameters
To show the builder properties in a popup editor.
To save the builder properties
Parameters
To populate elements(plugins) in the side palette.
Parameters
To load a json to the builder
Parameters
Update the CustomBuilder.json based on the data stored in CustomBuilder.data
Parameters
Update CustomBuilder.json to the pass in JSON.
Parameters
Get the value in CustomBuilder.json.
To save the builder JSON definition.
Preview the builder result of CustomBuilder.json in a new browser tab.
Update the CustomBuilder.json based on edited JSON in advance tool definition tab.
Load the latest stored JSON definition from undo stack and add current JSON definition to redo stack.
Load the latest stored JSON definition from redo stack and add current JSON definition to undo stack.
Add JSON definition to undo stack.
Parameters
To trigger change event to update advance tools
To update the save button status by the undo/redo function
Parameters
To fade in a message on top center of the builder
Parameters
To retrieve the current copied element.
Return a object with "type" and "object" attribute. The "object" is the element object.
To copy an element object to local storage.
Parameters
To enable/disable all paste icons based on the type
Parameters
To edit the properties of an element
Parameters
To generate uuid.
Modify the custom builder project POM file to adding the package of plugin interface, abstract class and APIs to the <Export-Package>.
Code Block | ||
---|---|---|
| ||
<Export-Package>org.joget.pbuilder,org.joget.pbuilder.api.*</Export-Package> |
Register the plugin interface and abstract class in Activator class
Code Block | ||
---|---|---|
| ||
PluginManager.registerCustomPluginInterface(new CustomPluginInterface(PageWidget.class, "pageBuilder.pageWidget", PageBuilder.MESSAGE_PATH)); |