Модальные Диалоги В Xpage

lionk

Well-known member
05.04.2007
310
2
#1
создаю диалоговое окно:
Код:
var dialog = dijit.byId("dialogId");
if (dialog) { dialog.destroyRecursive(); }
var url='piclist.xsp'+'?picViewName=SelDocType';
var dialog = new dijit.Dialog({
title:"Field Profile", 
id: "dialogId",
href:url,
refreshOnShow: true,
preventCache: true
});
dialog.show();

в него подгружается страница с списком(представлением), и кнопочками. Но нажимая на них ничего не происходит. CSJS не выполняется. Даже переход по страницам представления не работает. Хотя если открыть страницу на прямую то всё работает. В чём может быть причина?
Если у кого то есть гайд под рукой как настраивать диалоги(с загрузкой содержимого) поделитесь. Очень надо.
 

lionk

Well-known member
05.04.2007
310
2
#3
в заголовке же указал что "в соотведствующем разделе глуховато"

Это же велосипедная функция, с ней все должны были стыкаться.
Неужели все диалоги создают при загрузке страницы а потом только делают их visible?
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#4
Проблема похоже в регистрации событий кнопок... ну или что-то наковырять надо.
Тоже попробовал повторить. В piclist.xsp разместил кнопку с кодом
Код:
alert('TEST')
Не работает.

Заменил кнопку на такую конструкцию
Код:
<a href="#" onclick="alert('TEST')">Link</a>
Все нормально, но этого мало... без всех событий диалог не построить...
 

lionk

Well-known member
05.04.2007
310
2
#5
вот тут описана проблема http://dontpanic82.blogspot.com/2010/02/xp...works-with.html
Есть пример как ввести диалог в ДОМ-дерево главной FORM тогда с предсозданным диалогом всё работает.
Но вопрос остаётся открытым для подгружаемых страниц. Может кто то знает как добавить функции с подгружаемой страницы в контекст текущей XPage?
 

aameno2

Well-known member
27.01.2009
514
12
#8
Я собираю страницу из custom`ов, даже не задумывался....в чем не удобство?
Из последнего только rich edit в диалоге криво работает, но думаю до обновления..
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#9
Лично мена раздражает большое количество компонент на форме. Черт ногу сломит
Ну и собственно большое количество кастом-контролов тоже не всегда удобно.
Если работать с датасоурсом - проблем особых нет, но если работать через getComponent/getElement могут быть проблемы, т.к. на основной странице и кастом-контролах могут существовать компоненты с одинаковым названием
 

lionk

Well-known member
05.04.2007
310
2
#10
Алсо у extlib есть атрибут href который должен открывать сетевой ресурс, но он не работает.
Сделал всё через диалоги библиотки расширений. Не красиво но хоть работает.
 

xvasiliy

New member
22.11.2013
2
0
#11
вот тут описана проблема http://dontpanic82.blogspot.com/2010/02/xp...works-with.html
Есть пример как ввести диалог в ДОМ-дерево главной FORM тогда с предсозданным диалогом всё работает.
Но вопрос остаётся открытым для подгружаемых страниц. Может кто то знает как добавить функции с подгружаемой страницы в контекст текущей XPage?
Если я не ошибаюсь, то здесь есть тот самый код, который виджет в dom-дереве перемещает в "нужное" место. И вроде должно заработать.
http://lotusnotus.com/lotusnotus_en.nsf/dx...-updates....htm
var dialogWidget = dijit.byId(id);
if( dialogWidget ) dialogWidget.destroy();
dialogWidget = new dijit.Dialog( { }, dojo.byId(id));
var dialog = dojo.byId(id);
dialog.parentNode.removeChild(dialog);
var form = document.forms[0]; form.appendChild(dialog);
dialogWidget.startup();

Еще я пробовал через iframe (показывал модальное окно, xpages которого находится в другой базе), вроде работает.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#12
Кстати... сделал я динамически подгружаемые диалоги.
Клиентский-JS работает в рамках диалога. Контекста основной страницы нет.
Серверный JS работает в полном объеме

Диалог формируется в кастом контроле и динамически грузится в панель.
В качестве диалога использую диалоги ExtLib
Датасоурс передается в диалог через параметы