[ELMA4] Всплывающее окно (Popover)
Всплывающий контент, у которого есть следующие параметры:
- id – идентификатор popover;
- parent – идентификатор родителя или сам родитель;
- options – необязательный параметр для кастомных данных;
- widthMode – ширина поповера.
Может иметь ряд дискретных значений: "xxs", "xs", "s", "m", "l", "xl", "xxl", "full". Они определяются в классе UIWindowSize.
Размер поповера, сопоставляемый с этими значениями, варьируется от самого маленького ("xxs") до самого большого ("full").
Подробнее об Options
Параметры попапа:
closeOnClick
closeOnEsc
useReferrer
onOpenScript
contentUrl
postData
Параметры для отображения поповера:
-
placement
– местоположение относительно родителя. По умолчаниюbottom
.Допустимые варианты:
auto
,top
,right
,bottom
,left
. Каждое место размещения может иметь вариант из этого списка:-start
,-end
.
Пример:bottom-end
removeArrow
– убрать стрелку, установив значениеtrue
. По умолчанию removeArrow = null;modifiers
– кастомное поведение поповера.
Подробнее о Modifiers
shift
– модификатор, используемый для смещения поппера на начало или конец своего родительского элемента.
preventOverflow
– модификатор, используемый для предотвращения позиционирования поппера за пределами границы документа или указанного boundariesElement
.
flip
– модификатор, используемый для изменения положения поппера, когда он начинает перекрывать свой родительский элемент.
computeStyle
– вычисление стилей.
// Пример
openPopoverWindow('myPopoverId’, 'myParentId’, {
placement : ‘bottom’,
modifiers : {
preventOverflow : {
// поповер не будет выходить за пределы myContainer
boundariesElement : document.getElementById('myContainer')
},
flip : {
behavior: ['left', 'bottom', 'top']
},
// кастомное смещение относительно родителя
offset : {
offset : 10 // "10, -20"
}}});
// или
openPopoverWindow('myPopoverId', 'myParentId');
Методы для работы с Popover
C#
Html.PopoverWindow
– создание поповера на странице.
Параметры:
id
– идентификатор поповера на странице;content
– идентификатор родителя или сам родитель;widthMode
– ширина поповера. Может иметь ряд дискретных значений из UIWindowSize.
Пример:
@(Html.PopoverWindow("InpaymentStatusPopover",
@<text>
<div>SR.T("Текст в поповере")</div>
</text>,
UIWindowSize.Xxs))
Перегрузка метода Html.PopoverWindow
.
Параметры:
popover
– модель типа Popover.
Пример: отобразить заговолок поповера. Для отображения заголовка необходимо указать ShowHeader
и Header
.
@(Html.PopoverWindow(new Popover {
PopupId = "InpaymentStatusPopover",
WidthMode = UIWindowSize.Xxs,
ShowHeader = true,
Content = @<text>
<div>SR.T("Текст в поповере")</div>
</text>,
Header = @<text>SR.T("Заголовок окна")</text>
})
JS
openPopoverWindow
– открыть поповер на странице. Параметры:
id
– идентификатор поповера на странице;content
– идентификатор родителя или сам родитель;options
– необязательный параметр для кастомных данных.
Пример:
@Html.Button()
.Text(SR.T("Задать вопрос"))
.Click("openPopoverWindow('Popover', this)")
refreshPopoverWindow
– асинхронно обновить контент поповера и открыть. Параметры:
id
– идентификатор поповера на странице;content
– идентификатор родителя или сам родитель;options
– необязательный параметр для кастомных данных.
Пример:
@Html.Button()
.Text(SR.T("Задать вопрос"))
.Click("refreshPopoverWindow(id, parent, {postData: postData, contentUrl: contentUrl})")
closePopoverWindow
– закрыть поповер на странице. Параметр:
id
– идентификатор поповера на странице.
Пример:
closePopoverWindow('Popover')
Установить заголовок. Пример:
var popover = $("#popoverId").data("tWindow");
popover.title("Заголовок окна");