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