3.5.4.5. MessageDialogFacet

MessageDialogFacet facet 可以预配置 消息对话框。用声明式的方法定义消息对话框,而可以替代 Dialogs.createMessageDialog() 方法。MessageDialogFacet 用界面 xml 描述的 facets 元素定义。

组件的 xml 名称: messageDialog

示例:

<facets>
    <messageDialog id="messageDialog"
                   caption="msg://msgDialogFacet"
                   message="msg://msgDialogDemo"
                   modal="true"
                   closeOnClickOutside="true"/>
</facets>

MessageDialogFacet 配置的界面,也可以显式的调用 show() 方法展示:

@Inject
protected MessageDialogFacet messageDialog;

@Subscribe("showDialog")
public void onShowDialogClick(Button.ClickEvent event) {
    messageDialog.show();
}

另外,这个 facet 还可以通过 id 关联至任何操作(参阅 onAction 属性)或按钮(参阅 onButton 属性)。

<actions>
    <action id="dialogAction"/>
</actions>
<facets>
    <messageDialog id="messageDialog"
                   caption="msg://msgDialogFacet"
                   message="msg://msgDialogDemo"
                   onAction="dialogAction"/>
</facets>