You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

消息视图定义消息如何在Pulse里显示,并且用户可以用这个消息做什么。Magnolia的default消息视图可以显示任何系统消息,并允许用户删除它们。在/modules/workflow/messageViews/workflow路径下workflow消息视图为一个比较高级的样例。

定义

以下就是在/modules/ui-admincentral/messageViews/default里如何定义default消息视图。拷贝或扩展为您自己的视图的起始点。

节点名

modules

 

ui-admincentral

 

messageViews

 

default

 

actions

 

delete

 

class

 info.magnolia.ui.admincentral.shellapp.pulse.message.action.DeleteMessageActionDefinition

icon

 icon-delete

label

Delete

form

 

tabs

 

message

 

fields

 

sender

 

class

 info.magnolia.ui.form.field.definition.TextFieldDefinition

label

Sender

message

 

class

 info.magnolia.ui.form.field.definition.TextFieldDefinition

label

Message text

rows

7

actionbar

 

sections

 

messageActions

 

groups

 

deleteActions

 

items

 

delete

 

label

Message actions

节点:

  • actions动作定义定义用户可以执行什么样的动作。例如,用户可以准许或拒绝一个已发布的页面。
  • form表格定义定义什么样的消息细节会在视图里显示,如发送者和对象。表格域在消息视图里被绘制成静态文字,而不是可填写的域。
  • actionbar动作栏定义引用在消息视图或其他地方定义的动作。动作栏在消息视图的旁边显示。

以下为default视图里消息看起来的样子。

在代码里使用视图

为在代码里使用您定制的消息视图,先在

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") Message
对象上设置视图再发送它。

private sendMessageWithCustomView(String messageText) {
   final Message message = new Message();
   message.setMessage(messageText);
   message.setType(MessageType.INFO);
 
   // Name of the view as defined in the configuration
   message.setView("myCustomView");

   messagesManager.sendLocalMessage(message);
}
  • No labels