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