用法

抽象类

org.joget.apps.userview.model.UserviewMenu

字段细节

常量
REDIRECT_URL_PROPERTY
public static final java.lang.String REDIRECT_URL_PROPERTY =“userviewRedirectUrl”;

属性键设置重定向的URL。

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()

在UserView Builder调色板中显示的类别 

getIcon
public abstract java.lang.String getIcon()

图标路径将显示在UserView Builder调色板中

getRenderPage
public abstract java.lang.String getRenderPage()

获取用于UI的呈现HTML模板

isHomePageSupported
公共抽象布尔isHomePageSupported()

用于确定此菜单项是否可用作主页。

getDecoratedMenu
public abstract java.lang.String getDecoratedMenu()

获取用于渲染的装饰菜单HTML。

可重写的方法
getMenu
public java.lang.String getMenu()

获取用于渲染的菜单html。它将调用  getDecoratedMenu方法来检索菜单HTML。如果返回空值,则会根据getURL方法和“label”属性生成默认菜单HTML。

getJspPage
public java.lang.String getJspPage()

获取JSP文件的路径来呈现HTML模板。如果这个值不是NULL,则getRenderPage返回的值  将被忽略。

它用于使用系统预定义的模板进行渲染。选项如下:

- userview / plugin / datalist.jsp

- userview / plugin / form.jsp

- userview / plugin / runProcess.jsp

- userview / plugin / unauthorized.jsp

效用方法
getURL
public java.lang.String getUrl()

获取此菜单的URL

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

设置此菜单的URL

getKey
public java.lang.String getKey()

获取此菜单的userview键

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

设置此菜单的用户视图键

getRequestParameters
public java.util.Map getRequestParameters()

获取请求参数

setRequestParameters
public void setRequestParameters(java.util.Map requestParameters)

设置请求参数

getRequestParameter
public java.lang.Object getRequestParameter(java.lang.String requestParameter)

便捷方法获取参数值

getRequestParameterString
public java.lang.String getRequestParameterString(java.lang.String requestParameter)

便捷方法获取参数字符串值。

返回  空字符串而不是NULL。

getReadyJspPage
public java.lang.String getReadyJspPage()

系统用于检索JSP文件页面以避免逻辑再次运行。它将调用一次getJspPage方法来初始化值。

getReadyRenderPage
public java.lang.String getReadyRenderPage()

系统用来检索HTML模板,以避免逻辑再次运行。它将调用一次getRenderPage方法来初始化值。

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

获取该菜单所属的用户视图。

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

设置此菜单所属的用户视图。

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

设置此属性强制用户视图重定向到一个特定的URL。

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

将此属性设置为强制用户视图重定向到特定的URL,并在父窗口中选择重定向。

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

设置此属性以显示警报消息/提示。

插件属性选项

强制性财产

ID

  • 所有的UserView菜单插件都必须在属性选项JSON中显示此属性。 
  • 系统使用它来存储动态生成的UUID。
 {
 name : 'id',
 label : 'ID',
 type : 'hidden'
}

自定义id

  • 所有的UserView菜单插件都必须在属性选项JSON中显示此属性。 
  • 这用于管理员用户键入所需的菜单ID。
 {
 name : 'customId',
 label : '@@userview.datalistmenu.customId@@',
 type : 'textfield',
 regex_validation : '^[a-zA-Z0-9_]+$',
 validation_message : '@@userview.datalistmenu.invalidId@@'
}

标签

  • 所有的UserView菜单插件都必须在属性选项JSON中显示此属性。 
  • 这用于管理员用户键入菜单的显示标签。
 {
 name : 'label',
 label : '@@userview.datalistmenu.label@@',
 type : 'textfield',
 required : 'True',
 value : 'List'
}

Userview菜单插件模板示例

以下是HTML页面菜单  元素的示例菜单模板  它使用  FreeMaker  语法构造。这个模板将被getRenderPage  方法使用并返回    

 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);
}
<div class="ui-html">
    ${element.properties.content!}
</div>

说明

    • 没有指定的格式需要遵循。
    • 请注意,您的html模板需要在预览模式下禁用所有用户操作。您可以通过以下代码决定是否为预览模式:
"true".equals(getRequestParameterString("isPreview")

教程

相关的社区插件

  • 列表菜单
    org.joget.apps.userview.lib.DataListMenu(wflow-core)
  • 表单菜单
    org.joget.apps.userview.lib.FormMenu(wflow-core)
  • HTML页面
    org.joget.apps.userview.lib.HtmlPage(wflow-core)
  • 收件箱
    org.joget.apps.userview.lib.InboxMenu(wflow-core)
  • 链接
    org.joget.apps.userview.lib.Link(wflow-core)
  • 运行进程
    org.joget.apps.userview.lib.RunProcess(wflow-core)
  • No labels