Confirm Action

Bob84

Well-Known Member
16.05.2012
48
0
#1
Здравствуйте.
Не очень много работаю с Xpage, могу ошибатся в терминологии.

Есть приложение следующего вида: слева панель с меню навигации (список представлений), справа панель с представлениями и в ней же открываются документы для просмотра\редактирования. Задача такая - если открыли документ на создание\редактирование, то при клике на ссылку в меню навигации нужно выдать предупреждение "Хотите ли закрыть без сохранения?".
Сделано так: на событии клика каждой ссылки в Custom control nav (меню навигации) действие Confirm action с таким кодом

C++:
list = ["linkPage1.xsp", "linkPage2.xsp", ...];

pageName = @RightBack(context.getUrl(), "/");

if (@IsNotMember( pageName, list )){
try{		
if (document1.isNewNote() || document1.isEditable()) {
return "Хотите ли закрыть без сохранения?"
}
}catch(e){
}
}
Для одного пункта меню все работает.
Но для другого не работает вариант, когда документ открываем из представления на просмотр, потом переходим в режим редактирования и после этого переходим на любую из ссылок. Сравнение Xpage на котором все работает с проблемной ничего не дало.

Заранее спасибо.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 790
42
#2
не работает в смысле выдает ошибку или не проходит проверку?
И еще вопрос - в ссылках меню точно есть контекст документа?
 

Bob84

Well-Known Member
16.05.2012
48
0
#3
Не проходит проверку. В ссылках контекста документа может и нет.

Пока решили проблему через сохранение в переменной viewScope.editMode влючен ли режим редактирования и в ConfirmAction производим соответствующую проверку. Если документ открывается в режиме просмотра, то переменную viewScope.editMode меняем при нажатии кнопки "Редактировать".