• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Confirm Action

  • Автор темы Bob84
  • Дата начала
B

Bob84

Здравствуйте.
Не очень много работаю с 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 851
27
BIT
0
не работает в смысле выдает ошибку или не проходит проверку?
И еще вопрос - в ссылках меню точно есть контекст документа?
 
B

Bob84

Не проходит проверку. В ссылках контекста документа может и нет.

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

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