Versions Compared

Key

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

...

REDIRECT_URL_PROPERTY
public static final java.lang.String REDIRECT_URL_PROPERTY = "userviewRedirectUrl";

...

REDIRECT_PARENT_PROPERTY
public static final java.lang.String REDIRECT_PARENT_PROPERTY = "userviewRedirectParent";

...

ALERT_MESSAGE_PROPERTY
public static final java.lang.String ALERT_MESSAGE_PROPERTY = "userviewAlertMessage";

...

getCategory
public abstract java.lang.String getCategory()

Category to be displayed in Userview Builder palette 

getIcon
public abstract java.lang.String getIcon()

Icon path to be displayed in Userview Builder palette

getRenderPage
public abstract java.lang.String getRenderPage()

Get render HTML template for UI

...

getDecoratedMenu
public abstract java.lang.String getDecoratedMenu()

...

Overridable Methods
getMenu
public java.lang.String getMenu()

Get menu html for rendering. It will call getDecoratedMenu method to retrieve the menu HTML. If empty value is return, a default menu HTML will be generated based on getURL method and "label" property.

getJspPage
public java.lang.String getJspPage()

Get path of JSP file to render the HTML template. If this value is not NULL, value returned by getRenderPage will be ignored.

...

Utility Methods
getUrl
public java.lang.String getUrl()

Gets URL of this menu

setUrl
public void setUrl(java.lang.String url)

Sets URL of this menu

getKey
public java.lang.String getKey()

Gets userview key of this menu

setKey
public void setKey(java.lang.String key)

Sets userview key of this menu

getRequestParameters
public java.util.Map getRequestParameters()

...

Return Empty string instead of NULL.

getReadyJspPage
public java.lang.String getReadyJspPage()

Used by the system to retrieve the JSP file page to avoid the logic to run again. It will called the getJspPage method once to initial the value.

getReadyRenderPage
public java.lang.String getReadyRenderPage()

Used by the system to retrieve the HTML template to avoid the logic to run again. It will called the getRenderPage method once to initial the value.

getUserview
public org.joget.apps.userview.model.Userview getUserview()

Gets the userview which this menu is belongs to.

setUserview
public void setUserview(org.joget.apps.userview.model.Userview userview)

Sets the userview which this menu is belongs to.

setRedirectUrl
public void setRedirectUrl(java.lang.String redirectUrl)

Set this property to force the userview to redirect to a specific URL.

setRedirectUrl
public void setRedirectUrl(java.lang.String redirectUrl, boolean redirectToParent)

Set this property to force the userview to redirect to a specific URL with option to redirect in the parent window.

setAlertMessage
public void setAlertMessage(java.lang.String message)

Set this property to display an alert message/prompt.

Plugin Properties Options

Mandatory Property

id

  • All Userview Menu Plugin must has this property appear in the Properties Options JSON. 
  • This is used by the system to store the dynamic generated UUID.
Code Block
    {
        name : 'id',
        label : 'ID',
        type : 'hidden'
    }

customId

  • All Userview Menu Plugin must has this property appear in the Properties Options JSON. 
  • This is used for admin user to key in a desired menu id.
Code Block
    {
        name : 'customId',
        label : '@@userview.datalistmenu.customId@@',
        type : 'textfield',
        regex_validation : '^[a-zA-Z0-9_]+$',
        validation_message : '@@userview.datalistmenu.invalidId@@'
    }

label

  • All Userview Menu Plugin must has this property appear in the Properties Options JSON. 
  • This is used for admin user to key in a display label for the menu.
Code Block
    {
        name : 'label',
        label : '@@userview.datalistmenu.label@@',
        type : 'textfield',
        required : 'True',
        value : 'List'
    }

Userview Menu Plugin Template Sample

Following is a sample menu template of a HTML Page menu element. It is constructed using FreeMaker syntax. This template will be used and returned by getRenderPage method.

Code Block
languagejava
    public String getRenderPage() {
        PluginManager pluginManager = (PluginManager) AppUtil.getApplicationContext().getBean("pluginManager");

        Map dataModel = new HashMap();
        dataModel.put("element", this);
    
        return pluginManager.getPluginFreeMarkerTemplate(dataModel, getClassName(), "/templates/htmlPageMenu.ftl", null);
    }
Code Block
languagexml
<div class="ui-html">
    ${element.properties.content!}
</div>

Explanations

    • There are no specify format need to follow.
    • Please take note that your html template need to disable all user action when it is in preview mode. You decide it is preview mode or not by following code:
"true".equals(getRequestParameterString("isPreview")

Tutorials

  • Not available right now

Related Community Plugins

Related Community Plugins

  • List Menu
    org.joget.apps.userview.lib.DataListMenu (wflow-core)
  • Form Menu
    org.joget.apps.userview.lib.FormMenu (wflow-core)
  • HTML Page
    org.joget.apps.userview.lib.HtmlPage (wflow-core)
  • Inbox
    org.joget.apps.userview.lib.InboxMenu (wflow-core)
  • Link
    org.joget.apps.userview.lib.Link (wflow-core)
  • Run Process
    org.joget.apps.userview.lib.RunProcess (wflow-core)Not available right now