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

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

    Скидки до 10%

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

Dialog Server Side.help

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

susinmn

Задача: утвердить выделенные документы во view. Причем нужно, если документ не получилось утвердить (есть стоп-условия), нужно вывести диалог со стоп-условиями и вопросом продолжить выполнение остальных документов (Ок/Отмена).

Пытаюсь сделать через Dialog библиотеки XPagesExtensionLibrary. Возможно ли дождаться ответа от пользователя и отловить события нажатия кнопок в диалоговом окне?
 
S

susinmn

Получилось пока только так:

Обрабатываю ssjs выделенные документы во view. Как только в документе возникает стоп-условие:
1. передаю в viewScope стоп-условие
1. передаю в viewScope NoteID оставшихся выделенных документов
2. вывожу Dialog из XPages Extension Library с кнопками OK и Cancel

На кнопке OK ssjs обрабатываю оставшиеся документы c Partial Update view, csjs-XSP.closeDialog('#{id:dialog1}');

Вопрос: в IE после выполнения, при нажатии F5 вылазиет сообщение *Что бы еще раз отобразить эту веб-страницу, веб-обозревателю нужно повторить отправку указанных данных...*. Как это обойти?

P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
 
S

susinmn

P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Помогает context.redirectToPage().
 
S

susinmn

Можно пример как выводите диалог после серверной обработки
Посмотри пример в XPages Extension Library
Код:
var d = getComponent('dialog1');
d.show()
Не стали так делать. Сейчас стоп-условия вывожу по каждому документу через dojo dGrowl. Комментарий при отклонении через xe:tooltipDialog.
 
Последнее редактирование:

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Естественно - там не оптимальная логика: работа в клиенте, а логика через жопу сервер. Плохо это. И Дожо этим же часто грешит.
Да и диалоги, часто, лучше делать ручками, через обычный контейнер.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
Как только в документе возникает стоп-условие
стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
 
S

susinmn

стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
Изначально делалось это, например, для случая, когда сотрудник пытается утверждить несколько документов, но у него нет доверенности для их утверждения. Что бы не выводить 10 стоп-условий, хотели сделать остановку.
 
Мы в соцсетях:

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