OptionDialogFacet
OptionDialogFacet is a facet that allows you to pre-configure an option dialog. Declarative definition of the message dialog replaces existing Dialogs.createOptionDialog() method.
Component’s XML-name: optionDialog.
Attributes
OptionDialogFacet is defined in the facets element of the screen XML descriptor and has the following attributes:
Actions
To add buttons for user reaction, use the actions element of the screen XML descriptor. The action elements should be placed inside this element. For example:
<optionDialog id="optionDialog">
    <actions>
        <action id="ok"
                caption="OK"
                icon="CHECK"
                primary="true"/>
        <action id="cancel"
                caption="Cancel"
                icon="BAN"
                description="The changes will not be saved"/>
    </actions>
</optionDialog>To configure action, there are the following attributes:
- 
description- defines the text that will be displayed when the cursor hovers over the correspondingbutton.
- 
icon- defines the icon for the correspondingbutton.
- 
primary- defines whether highlighted and selected the correspondingbuttonor not. The default value isfalse.
To implement custom logic for action, use the DialogActionPerformedEvent listener:
@Autowired
protected Notifications notifications;
@Install(to = "optionDialog.ok", subject = "actionHandler")
protected void onDialogOkAction(ActionsAwareDialogFacet.DialogActionPerformedEvent<OptionDialogFacet> event) {
    String actionId = event.getDialogAction().getId();
    notifications.create(Notifications.NotificationType.TRAY)
            .withCaption("Dialog action performed: " + actionId)
            .show();
}The code inside this listener will be executed when the user clicks the button with id="ok" in the option dialog.
Usage Example
<window xmlns="http://jmix.io/schema/ui/window"
        caption="msg://optionDialogFacetScreen.caption">
    <facets>
        <optionDialog id="optionDialog"
                      caption="Option Dialog"
                      message="Message"
                      onButton="optionDialogBtn"> (1)
            <actions>
                <action id="ok"
                        caption="OK"
                        icon="CHECK"
                        primary="true"/> (2)
                <action id="cancel"
                        caption="Cancel"
                        icon="BAN"
                        description="The changes will not be saved"/> (3)
            </actions>
        </optionDialog>
    </facets>
    <layout>
        <button id="optionDialogBtn"
                caption="Show OptionDialog"/> (4)
    </layout>
</window>| 1 | Define OptionDialogFacetinside thefacetselement. | 
| 2 | Add the first actionand set theprimaryattribute totrue. | 
| 3 | Add the second actionand define thedescriptionattribute for it. | 
| 4 | Define buttonthat will open the option dialog. | 
All XML Attributes
| You can view and edit attributes applicable to the facet using the Component Inspector panel of the Studio’s Screen Designer. | 
caption - contentMode - height - htmISanitizerEnabled - id - message - onAction - onButton - stylename - width - windowMode