Confirm Action

Тема в разделе "Lotus - Xpages", создана пользователем Bob84, 12 дек 2014.

Наш партнер Genesis Hackspace
  1. Bob84

    Bob84 Well-Known Member

    Регистрация:
    16 май 2012
    Сообщения:
    48
    Симпатии:
    0
    Здравствуйте.
    Не очень много работаю с 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 на котором все работает с проблемной ничего не дало.

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

    NickProstoNick Статус как статус :)
    Lotus team

    Регистрация:
    22 авг 2008
    Сообщения:
    1.774
    Симпатии:
    39
    не работает в смысле выдает ошибку или не проходит проверку?
    И еще вопрос - в ссылках меню точно есть контекст документа?
     
  3. Bob84

    Bob84 Well-Known Member

    Регистрация:
    16 май 2012
    Сообщения:
    48
    Симпатии:
    0
    Не проходит проверку. В ссылках контекста документа может и нет.

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

Поделиться этой страницей