[ELMA4] Всплывающее окно (Popover)
Всплывающий контент, у которого есть следующие параметры:
- id – идентификатор popover;
- parent – идентификатор родителя или сам родитель;
- options – необязательный параметр для кастомных данных;
- widthMode – ширина поповера.
Может иметь ряд дискретных значений: "xxs", "xs", "s", "m", "l", "xl", "xxl", "full". Они определяются в классе UIWindowSize.
Размер поповера, сопоставляемый с этими значениями, варьируется от самого маленького ("xxs") до самого большого ("full").
Подробнее об Options
Параметры попапа:
closeOnClickcloseOnEscuseReferreronOpenScriptcontentUrlpostData
Параметры для отображения поповера:
-
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("Заголовок окна");