Открытие документа в диалогом окне

susinmn

Well-Known Member
16.10.2007
529
8
#1
Хочется из представления информацию о документе открывать в диалоговом окне в режиме чтения, с возможностью входа в режим редактирования (кнопочка изменить) и сохранением информации в документ. Такое возможно?

Спасибо
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 790
42
#2
Xpages Extension Library.
Ну или можешь покурить Dojo и написать сам.
 

Zeka

Well-Known Member
01.09.2009
219
0
#3
Возможно. С Extension Library задача приметивно просто решается.
В двух словах:
Добавляешь вьюху на страницу. Под вьюхой бросаешь компонент Dialog из Extension Library.
Во вьюхе добовляешь столбик с кнопкой или линком. По клику на который:
Код:
viewScope.put("selectedDocUID", viewEntry.getUniversaID());
getComponent("dialog1").show();
У кнопки (или линка) в Partitial Update указываешь dialog1.

Далее в сам диалог добавляешь панель.
В панель добавляешь data source - твоя форма.
У data source указываешь default action - "Open document" и Document Id - viewScope.get("selectedDocUID");

Всё!
Вроде ничего не забыл ;)

А ещё обязательно покапай базу с примерами, что идёт вместе с Extension Library.
 

susinmn

Well-Known Member
16.10.2007
529
8
#4
В колонке view пишу

"<a href='java script:viewScope.put(\"selectedDocUID\",\""+viewEntry.getUniversaID()+"\")'>"+viewEntry.getColumnValue('KKO')+"</a>"

при нажатии *Ошибка на странице*. Что не так?)
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 790
42
#5
В колонке view пишу

"<a href='java script:viewScope.put(\"selectedDocUID\",\""+viewEntry.getUniversaID()+"\")'>"+viewEntry.getColumnValue('KKO')+"</a>"

при нажатии *Ошибка на странице*. Что не так?)
Начнем с того, что пишешь в клиентской java, а надо в серверной
 

Zeka

Well-Known Member
01.09.2009
219
0
#6
Вобщем, вью с линком выглядит примерно так:
Код:
<xp:viewPanel value="#{view1}" id="viewPanel1" var="row">
<xp:this.facets>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="headerPager" id="pager1">
</xp:pager>
</xp:this.facets>
<xp:viewColumn columnName="RegistrationNr" id="viewColumn1">
...
</xp:viewColumn>
<xp:viewColumn columnName="RegistrationDate" id="viewColumn2">
...
</xp:viewColumn>
<xp:viewColumn id="viewColumn3" displayAs="hidden"
style="width:40px">
<xp:this.facets>
<xp:viewColumnHeader xp:key="header" id="viewColumnHeader3">
</xp:viewColumnHeader>
</xp:this.facets>
<xp:link escape="true" id="link4" text="Pokazat'">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="dialog1">
<xp:this.action><![CDATA[#{java script:viewScope.put("uid", row.getUniversalID());
getComponent("dialog1").show();}]]></xp:this.action>
</xp:eventHandler>
</xp:link>
</xp:viewColumn>
</xp:viewPanel>
Диалог:
Код:
<xe:dialog id="dialog1">
<xp:panel>
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"
formName="Registration">
<xp:this.documentId><![CDATA[#{java script:viewScope.get("uid")}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>

<xp:inputText value="#{document1.RegistrationID}" id="registrationID1">
</xp:inputText>

</xp:panel>
</xe:dialog>
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 790
42
#8

susinmn

Well-Known Member
16.10.2007
529
8
#9

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 484
360
#12
если не морочиться рефрешами (забить на эту особенность), то размещаем прям в Паге, в скрытом элементе
и кажим через dojo.Dialog
тока для диалог бокса нужен патчик :crash: (шобы он унутре формы жил)
и работает везде (ФФ, УЁ, Хром, Сафари, Опера)

Добавлено: да... забыл - всё делается на клиенте, в dojo