2016-09-28 2 views
0

Я хочу, чтобы центр wj-popup, который имеет элемент владельца, в центр владельца. Это означает, что центр элемента владельца должен быть горизонтальным центром всплывающего окна. Я не нашел никакой информации об этом (только о всплывающих окнах без элемента владельца, по умолчанию по умолчанию). Как я могу это сделать?Как центрировать wj-popup с элементом владельца

enter image description here

ответ

0

Настоящая версия wijmo5 (v5.20162.211) не позволяет это, но есть некоторые обходной путь, описанный здесь: http://wijmo.com/topic/how-to-center-wj-popup-with-owner-element-by-its-owner-2/#post-79683.

Кроме того, поскольку я использую некоторые компоненты НПМ Ui и angular2, которые не позволяют этого workarond также, я должен был поймать событие мыши и изменить функцию так:

setPopupPosition(event:any, element:any) { 
    let mouseX = event.clientX; 
    let popupWidth = element.popup.hostElement.clientWidth; 
    let popupPosition = mouseX - popupWidth/2; 
    element.popup.hostElement.style.left = (popupPosition < 0 ? 0 : popupPosition) + "px"; 
} 

element.popup - объявляется во всплывающем компоненте с помощью @ViewChild всплывающего окна.

и HTML:

<button(click)="setPopupPosition($event, profileFilterPopover)">ButtonName</button> 
<profile-filter-popover #profileFilterPopover [owner]="showProfileFilterButton" [reportId]="reportId" 
           [cubeId]="cubeId"></profile-filter-popover> 

где profileFilterPopover является идентификатор всплывающего окна

Смежные вопросы