Как центрировать лед: панель подтверждения внутри модального льда: панель «Поп» (ICEfaces)? - PullRequest
1 голос
/ 21 февраля 2011

Если используется (модальная) ice: translationPanel внутри модальной ice: panelPopup, панель подтверждения не будет центрирована; вместо этого он, кажется, центрируется относительно верхнего левого края панели.

Похоже, это вызвано встроенным стилем panelPopup. Это говорит position: absolute. Поскольку он отображается как встроенный стиль, я не знаю, как изменить его на position: fixed, что, похоже, решает проблему.

Дополнительная информация: В моем случае было бы неуместным поместить панель подтверждения за пределами PanelPopup, потому что панель подтверждения является частью Facelets-Component (ui:composition). Всякий раз, когда этот компонент используется внутри panelPopup, возникает эта проблема.

Есть ли предложения по решению?

Ответы [ 2 ]

0 голосов
/ 23 марта 2011

Я закончил тем, что создал свой собственный всплывающий компонент, который использует position: fixed div вместо iframes - отлично работает!

0 голосов
/ 24 февраля 2011

Просто поместите панель подтверждения снаружи панели Popup.Таким образом, панель подтверждения будет центрирована, и она будет над всплывающей панелью.

<ice:panelPopup autoCentre="true" modal="true" draggable="true">
    <f:facet name="header">
        <ice:panelGroup>
            <ice:outputText value="Edit" />
        </ice:panelGroup>
    </f:facet>
    <f:facet name="body">
        <ice:panelGroup>
            <ice:commandLink value="Edit" panelConfirmation="editConfirm" actionListener="#{editor.edit}"/>
        </ice:panelGroup>
    </f:facet>
</ice:panelPopup>
<ice:panelConfirmation id="editConfirm" />
...