• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы susinmn
  • Дата начала
S

susinmn

Хочется из представления информацию о документе открывать в диалоговом окне в режиме чтения, с возможностью входа в режим редактирования (кнопочка изменить) и сохранением информации в документ. Такое возможно?

Спасибо
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Xpages Extension Library.
Ну или можешь покурить Dojo и написать сам.
 
Z

Zeka

Возможно. С 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.
 
S

susinmn

В колонке view пишу

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

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

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
В колонке view пишу

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

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

Zeka

Вобщем, вью с линком выглядит примерно так:
Код:
<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>
 
S

susinmn

Почему может не работать getComponent('dialog1').show()?
В *XPages Extension Library Demo* так же не работает кнопка *Show Dialog - Server side*

P.S.: - Full Update
 
S

susinmn

FullUpDate при нажатии кнопки *Новый регион* и клике на значение столбца *ККО*:

PartialUpDate Dialog*а при нажатии кнопки *Новый регион* и клике на значение столбца *ККО*:
- не открывается Dialog в IE8
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
если не морочиться рефрешами (забить на эту особенность), то размещаем прям в Паге, в скрытом элементе
и кажим через dojo.Dialog
тока для диалог бокса нужен патчик :crash: (шобы он унутре формы жил)
и работает везде (ФФ, УЁ, Хром, Сафари, Опера)

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!