3.5.4.4. NotificationFacet
用 NotificationFacet
facet 可以预配置 通知消息。用声明式的方法定义通知消息,而可以替代 Notifications.create()
方法。NotificationFacet
用界面 xml 描述的 facets
元素定义。
组件的 xml 名称: notification
示例:
<facets>
<notification id="notification"
caption="msg://notificationFacet"
description="msg://notificationDescription"
type="TRAY"/>
</facets>
用 NotificationFacet
配置的界面,也可以显式的调用 show()
方法展示:
@Inject
protected NotificationFacet notification;
public void showNotification() {
notification.show();
}
notification
有如下属性:
-
onAction
属性设置 操作 标识符。表示当该操作完成后,需要显示通知消息。<actions> <action id="notificationAction"/> </actions> <facets> <notification id="notification" caption="msg://notificationFacet" onAction="notificationAction" type="TRAY"/> </facets>
-
onButton
属性设置 按钮 标识符。表示当点击该按钮,需要显示通知消息。<facets> <notification id="notification" caption="msg://notificationFacet" onButton="notificationBtn" type="TRAY"/> </facets> <layout> <button id="notificationBtn" caption="Show notification"/> </layout>
-
如果 contentMode 属性设置为
ContentMode.HTML
,可以用htmlSanitizerEnabled
属性为通知内容启用 HTML 清理功能。<facets> <notification id="notificationFacetOn" caption="NotificationFacet with Sanitizer" contentMode="HTML" htmlSanitizerEnabled="true" onButton="showNotificationFacetOnBtn" type="TRAY"/> <notification id="notificationFacetOff" caption="NotificationFacet without Sanitizer" contentMode="HTML" htmlSanitizerEnabled="false" onButton="showNotificationFacetOffBtn" type="TRAY"/> </facets>
htmlSanitizerEnabled
属性会覆盖全局的 cuba.web.htmlSanitizerEnabled 配置。
- notification 的属性
-
caption - contentMode - delay - description - htmlSanitizerEnabled - id - onAction - onButton - position - stylename - type