3.5.4.4. NotificationFacet

NotificationFacet – это фасет, который обеспечивает возможность предварительной настройки уведомлений. Декларативное описание уведомления заменяет существующий метод Notifications.create(). NotificationFacet определяется в элементе facets XML-дескриптора экрана.

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 установлен в true, вы можете сделать доступной HTML санитизацию для содержимого уведомления, используя атрибут htmlSanitizerEnabled.

    <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