JSF - Создание оверлея для всплывающих панелей - PullRequest
1 голос
/ 24 мая 2010

Я создал наложение, которое будет появляться всякий раз, когда кто-то захочет загрузить файл в систему. Gui выглядит следующим образом (когда наложение вверх) alt text

У меня есть две проблемы с этим:

  1. Я прикрепил объект поддержки a4j:, который, по щелчку, заставляет наложение исчезнуть. Проблема в том, что когда я нажимаю кнопку загрузки на компоненте загрузки, служба поддержки перехватывает событие нажатия и закрывает наложение с компонентом загрузки, прежде чем у меня появляется возможность завершить операцию.
  2. Я выбрал два разных стилевых класса. Один для наложения и один для панели загрузки. Но стиль наложения берет на себя компонент загрузки, и он также становится прозрачным.

Реализация выглядит примерно так:

<h:panelgroup layout="block" styleClass="overlayClass">
  <rich:fileUpload styleClass="uploadStyleClass"... />
  <a4j:support event="onclick" action="#{mrBean.switchOverlayState}" reRender="..."/>
</h:panelGroup>

CSS:

.overlayClass {
        Opacity: 0.5;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #000;
}

.uploadStyleClass {
         opacity: 1.0;
         ...
}

Спасибо за помощь!

1 Ответ

1 голос
/ 24 мая 2010

Я бы предложил использовать <rich:modalPanel>.

...