NotificationFacet
Фасет NotificationFacet позволяет предварительно настраивать уведомления. Декларативное определение уведомления заменяет существующий метод Notifications.create().
XML-имя компонента: notification.
Атрибуты
NotificationFacet определяется в элементе facets XML-дескриптора экрана и имеет следующие атрибуты:
Вы можете привязать NotificationFacet к кнопке или действию, чтобы уведомление появлялось после нажатия кнопки или выполнения действия. Для этого используйте следующие атрибуты:
-
onAction
<window xmlns="http://jmix.io/schema/ui/window"
caption="msg://notificationFacetScreen.caption">
<actions>
<action id="facetAction"
caption="Action subscription"/>
</actions>
<facets>
<notification id="actionNotification"
caption="Action performed"
type="TRAY"
onAction="facetAction"/>
</facets>
<layout>
</layout>
</window>
<window xmlns="http://jmix.io/schema/ui/window"
caption="msg://notificationFacetScreen.caption">
<facets>
<notification id="buttonNotification"
caption="Button clicked"
type="HUMANIZED"
onButton="facetBtn"/>
</facets>
<layout>
<button id="facetBtn"
caption="Button subscription"/>
</layout>
</window>
|
Вы также можете настроить отображение уведомлений
|
События и слушатели
|
Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите фасет в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI. В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана. |
CloseEvent
CloseEvent обрабатывает закрытие уведомления. Например:
private static final Logger log = LoggerFactory.getLogger(NotificationFacetScreen.class);
@Subscribe("actionNotification")
public void onActionNotificationClose(Notifications.CloseEvent event) {
log.info("Notification was closed");
}
Чтобы создать слушателя события программно, используйте метод addCloseListener().
CaptionProvider
CaptionProvider изменяет отображаемое название уведомления NotificationFacet.
@Install(to = "actionNotification", subject = "captionProvider")
private String actionNotificationCaptionProvider() {
return "Changed caption";
}
Чтобы создать слушателя события программно, используйте метод setCaptionProvider().
DescriptionProvider
DescriptionProvider изменяет отображаемое описание уведомления NotificationFacet
@Install(to = "actionNotification", subject = "descriptionProvider")
private String actionNotificationDescriptionProvider() {
return "Changed description";
}
Чтобы создать слушателя события программно, используйте метод setDescriptionProvider().
Все XML-атрибуты
|
Вы можете просматривать и редактировать применимые к фасету атрибуты с помощью панели инспектора Jmix UI в дизайнере экранов Studio. |
caption - contentMode - delay - description - htmlSanitizerEnabled - id - onAction - onButton - position - stylename - type