3.5.2.1.33. PopupView
PopupView представляет собой компонент, позволяющий открывать popup с контейнером. Контейнер может открываться по клику на минимизированное значение или программно. Он может быть закрыт отведением курсора или по клику вне контейнера.
Обычный PopupView со скрытым и видимым 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предоставляет методы для установки положения popup на экране. Значенияtopиleftопределяют положение верхнего левого угла popup. Положение можно установить с помощью стандартных значений либо задать произвольные. Доступны следующие стандартные значения:-
TOP_RIGHT -
TOP_LEFT -
TOP_CENTER -
MIDDLE_RIGHT -
MIDDLE_LEFT -
MIDDLE_CENTER -
BOTTOM_RIGHT -
BOTTOM_LEFT -
BOTTOM_CENTERСтандартное значение
DEFAULTрасполагает popup в середине минимизированного значения.Методы для установки положения popup:
-
void setPopupPosition(int top, int left)- устанавливает значенияtopиleft. -
void setPopupPositionTop(int top)- устанавливает значениеtop. -
void setPopupPositionLeft(int left)- устанавливает значениеleft. -
void setPopupPosition(PopupPosition position)- использует одно из стандартных значений для установки положения.@Inject private PopupView popupView; @Subscribe public void onInit(InitEvent event) { popupView.setPopupPosition(PopupView.PopupPosition.BOTTOM_CENTER); }Если положение popup установлено с помощью стандартных значений, то значения
leftиtopбудут сброшены и наоборот.
-
-
Если положение установлено с использованием стандартных значений, то popup будет незначительно сдвинут от границ экрана. Вы можете переопределить сдвиг с помощью переменных SCSS
$popup-horizontal-marginи$popup-vertical-margin. -
Для получения значений положения popup определены следующие методы:
-
int getPopupPositionTop()- возвращает значениеtop. -
int getPopupPositionLeft()- возвращает значениеleft. -
PopupPosition getPopupPosition()- возвращает null, если положение popup было задано без использования стандартных значений.
-
Атрибуты PopupView:
-
minimizedValueопределяет текст минимизированного значения. В тексте разрешено использовать теги HTML.
-
Если атрибуту
hideOnMouseOutустановлено значениеfalse, popup будет закрываться по клику вне popup.
- Атрибуты popupView
-
caption - captionAsHtml - contextHelpText - contextHelpTextHtmlEnabled - css - description - descriptionAsHtml - box.expandRatio - height - hideOnMouseOut - htmlSanitizerEnabled - icon - id - minimizedValue - stylename - visible - width
- API