Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces modalPanel / 7 сообщений из 7, страница 1 из 1
29.10.2008, 23:40:37
    #35624265
laureli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
По кнопке
Код: plaintext
1.
2.
<a4j:commandButton id="edit_button" reRender="edit_panel" action="#{usersBean.edit}" value="Edit" onclick="javascript:Richfaces.showModalPanel('form:edit_panel');">
<f:param id="e_id" name="e_id" value="#{user.id}"/>
            </a4j:commandButton>
должно открываться окно для редактирования юзера.
...
Рейтинг: 0 / 0
29.10.2008, 23:45:30
    #35624274
laureli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
Извините.
По кнопке
Код: plaintext
1.
2.
3.
<a4j:commandButton id="edit_button" reRender="edit_panel" action="#{usersBean.edit}"
                               value="Edit" onclick="javascript:Richfaces.showModalPanel('form:edit_panel');">
                <f:param id="e_id" name="e_id" value="#{user.id}"/>
            </a4j:commandButton>
должно открываться окно редактирования пользователя. Метод edit получает id и определяет юзера, которого надо редактировать (editingUser). ModalPanel выглядит так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<rich:modalPanel id="edit_panel" width="400" height="300" >
    <f:facet name="header">
        <h:outputText value="Edit data"/>
    </f:facet>
    <h:panelGrid columns="2">
        <h:outputLabel  for ="ed_name">
            <h:outputText value="Name"/>
        </h:outputLabel>
        <h:inputText id="ed_name" value="#{usersBean.editingUser.name}">
            <f:validateLength minimum="1" maximum="25"/>
        </h:inputText>

        <h:outputLabel  for ="ed_lastname">
            <h:outputText value="Lastname"/>
        </h:outputLabel>
        <h:inputText id="ed_lastname" value="#{usersBean.editingUser.lastname}">
            <f:validateLength minimum="1" maximum="25"/>
        </h:inputText>

        <h:outputLabel  for ="ed_inn">
            <h:outputText value="INN"/>
        </h:outputLabel>
        <h:inputText id="ed_inn" value="#{usersBean.editingUser.inn}"/>

        <a4j:commandButton id="save_button" reRender="table" action="#{usersBean.save}" value="Save"
                           onclick="javascript:Richfaces.hideModalPanel('form:edit_panel');"/>
        <a4j:commandButton id="ed_cbutton" onclick="javascript:Richfaces.hideModalPanel('form:edit_panel');"
                           value="Cancel"/>
    </h:panelGrid>
</rich:modalPanel>
Проблема в том, что окно сразу же сворачивается. Если убрать из кнопки reRenderer="edit_panel", то двнные в окне не булут обновляться. Как сделать так, чтобы в оане отображались данные нужного пользователя и окно не закрывалось?
Спасибо
...
Рейтинг: 0 / 0
29.10.2008, 23:46:30
    #35624276
laureli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
Прошу прощения за опечатки.
...
Рейтинг: 0 / 0
01.11.2008, 11:09:39
    #35629947
пролетевший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
Запрос асинхронный. Поэтому в случае onclick внвчале открывается панель, потом на его место выводится новая ( cвернутая ).
Надо либо открывать в методе oncomplete ( когда страница уже обновлена ), либо обновлять только содержимое панели.
Второе лучше - можно вначале отобразить только надпись типа "Идет загрузка" на случай медоенного соединения.
P.S. В силу особенностей реализации, панель должна содержать форму. При выводе она гуляет по дереву DOM на странице, поэтому то что вокруг нее поля ввода и кнопки не увидят. Резкльтат войны с особенностями IE ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
26.01.2012, 17:46:03
    #37633529
Николаха
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
Доброе ()!!!

Я не могу закрыть modalPanel. Использую Spring WebFlow 2 и RichFaces.
Делаю что-то вроде этого , но у меня проще (наверное).
Есть страница на которой выводится таблица и надо добавить новую запись в таблицу. Как уже поняли, я хочу добавить запись с помощью modalPanel и +применяю валидацию.
Как сделано в указанном примере не совсем подходит.

Код: html
1.
2.
3.
<a4j:commandButton action="closeWizard" value="Done"
	 oncomplete="Richfaces.hideModalPanel('ModalPanel');"
	 reRender="sumDisplay"/>



Этот код закроет modalPanel в любом случае, вот как закрыть только если валидатор не заругался? Т.е. нажали кнопку "closeWizard" поля диалога прошли валидацию, данные сохранились и закрылся диалог, а если не прошли валидацию, то диалог не должен закрываться.

Вот флоу
Код: xml
1.
2.
3.
4.
5.
<view-state ............... model="person">
      .............
      <transition on="closeWizard" validate="true">
	
      </transition>
...
Рейтинг: 0 / 0
26.01.2012, 18:16:18
    #37633622
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
<a4j:commandButton value="Save" action="#{myController.save}" oncomplete="#{facesContext.maximumSeverity == null ? 'Richfaces.hideModalPanel(\'myModalPanelId\');' : ''}" />
...
Рейтинг: 0 / 0
28.01.2012, 18:07:30
    #37636627
Николаха
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces modalPanel
забыл ник<a4j:commandButton value="Save" action="#{myController.save}" oncomplete="#{facesContext.maximumSeverity == null ? 'Richfaces.hideModalPanel(\'myModalPanelId\');' : ''}" />

Спасибо! Помогло!!!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces modalPanel / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]