3.5.2.1.33. PopupView

PopupView представляет собой компонент, позволяющий открывать popup с контейнером. Контейнер может открываться по клику на минимизированное значение или программно. Он может быть закрыт отведением курсора или по клику вне контейнера.

Обычный PopupView со скрытым и видимым popup-ом:

Popup hidden
Рисунок 17. Popup скрыт
Popup visible
Рисунок 18. Popup открыт

Компонент реализован для блока Web Client.

Пример использования PopupView, где минимизированное значение получено из пакета локализации:

<popupView id="popupView"
           minimizedValue="msg://minimizedValue"
           caption="PopupView caption">
    <vbox width="60px" height="40px">
        <label value="Content" align="MIDDLE_CENTER"/>
    </vbox>
</popupView>

Содержимое popup-а должно быть контейнером, например BoxLayout.

Методы PopupView:

  • setPopupVisible() позволяет открывать и закрывать popup программно.

    @Inject
    private PopupView popupView;
    
    @Subscribe
    protected void onInit(InitEvent event) {
        popupView.setMinimizedValue("Hello world!");
    }
  • setMinimizedValue() позволяет программно менять минимизированное значение.

    @Inject
    private PopupView popupView;
    
    @Override
    public void init(Map<String, Object> params) {
        popupView.setMinimizedValue("Hello world!");
    }
  • addPopupVisibilityListener(PopupVisibilityListener listener) позволяет отслеживать изменения видимости popup.

    @Inject
    private PopupView popupView;
    @Inject
    private Notifications notifications;
    
    @Subscribe
    protected void onInit(InitEvent event) {
        popupView.addPopupVisibilityListener(popupVisibilityEvent ->
                notifications.create()
                        .withCaption(popupVisibilityEvent.isPopupVisible() ? "The popup is visible" : "The popup is hidden")
                        .withType(Notifications.NotificationType.HUMANIZED)
                        .show()
        );
    }

Атрибуты PopupView:

  • minimizedValue определяет текст минимизированного значения. В тексте разрешено использовать теги HTML.

  • Если атрибуту hideOnMouseOut установлено значение false, popup будет закрываться по клику вне popup.