Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5. Индикатор ожидания (spinner) на модальное окно / 21 сообщений из 21, страница 1 из 1
26.02.2016, 10:30
    #39179562
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Есть страница с IR. Для создания новой записи вызываем по кнопке модульную форму. В нее вносим данные и сохраняем. При этом дополнительно выполняется процедура, которая рассылает уведомления по почте. Это занимает какое-то время, при котором форма остается на экране и возможно многократное нажатие на кнопку добавления записей.
Вопрос: как вывести индикатор ожидания при использования модальной формы?
...
Рейтинг: 0 / 0
26.02.2016, 10:46
    #39179572
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
KarlikЕсть страница с IR. Для создания новой записи вызываем по кнопке модульную форму. В нее вносим данные и сохраняем. При этом дополнительно выполняется процедура, которая рассылает уведомления по почте. Это занимает какое-то время, при котором форма остается на экране и возможно многократное нажатие на кнопку добавления записей.
Вопрос: как вывести индикатор ожидания при использования модальной формы?

1. Версия Апекс?
2. Вам необходимо дождаться выполнения процедуры? Или пользователь может работать дальше?
...
Рейтинг: 0 / 0
26.02.2016, 11:26
    #39179607
Vladml
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
KarlikПри этом дополнительно выполняется процедура, которая рассылает уведомления по почте. Это занимает какое-то время, при котором ?

Обычно такие вещи как рассылка почты вешаются на джоб и работают в асинхроне.

для 5-ки спинер
apex.widget.waitPopup();
...
Рейтинг: 0 / 0
26.02.2016, 11:29
    #39179610
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
blkangel1. Версия Апекс?
2. Вам необходимо дождаться выполнения процедуры? Или пользователь может работать дальше?
1. Версию APEX я указал в заголовке. Но если интересует полностью, то вот - 5.0.3.00.03, самая последняя
2. Необходимо "затемнить" экран, чтобы предотвратить возможность нажатия любых кнопок пользователем на модальной форме. Как только все процедуры будут выполнены, то перейти на страницу с IR.

Vladmlдля 5-ки спинер
apex.widget.waitPopup();
Как его применить к модальному окну? В Javascript я слабоват.
...
Рейтинг: 0 / 0
26.02.2016, 11:31
    #39179611
Vladml
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Karlik В Javascript я слабоват.
Для подобных вещей придется учить Javascript и его работу в контексте Apex, иначе нестандартный функционал реализовать будет сложно.
...
Рейтинг: 0 / 0
26.02.2016, 11:43
    #39179625
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Karlik,

Перенесите процесс в DA, в зависимости от ситуации поставьте галку ждать или не ждать, думаю должно прокатить.
...
Рейтинг: 0 / 0
26.02.2016, 11:51
    #39179634
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
KarlikЭто занимает какое-то время, при котором форма остается на экране и возможно многократное нажатие на кнопку добавления записей
И это только пол беды. А если процесс отсылки займет столько времени что веб сервер просто збросит соединение по таймауту ?
...
Рейтинг: 0 / 0
26.02.2016, 11:57
    #39179645
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
VladmlДля подобных вещей придется учить Javascript и его работу в контексте Apex, иначе нестандартный функционал реализовать будет сложно.
Не думаю, что показывать spinner такой уж нестандартный функционал. На отдельную страницу его можно через DA в Page Designer сделать. А вот как на модальную форму...?
...
Рейтинг: 0 / 0
26.02.2016, 12:00
    #39179650
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
CasufiИ это только пол беды. А если процесс отсылки займет столько времени что веб сервер просто збросит соединение по таймауту ?
Хотелось бы конкретики, а не обсуждения отсылки. Процесс может быть любой дополнительно выполняться, а не только отсылка почты.
...
Рейтинг: 0 / 0
26.02.2016, 13:25
    #39179771
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Karlik,
Вы неправы. Процесс процессу рознь. Одно дело долгий update, другое соединение с smtp сервером.
...
Рейтинг: 0 / 0
26.02.2016, 13:27
    #39179773
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Karlik,
Первой строкой кода закрыть модальную форму
?
...
Рейтинг: 0 / 0
28.02.2016, 01:41
    #39180699
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Проблему двойных кликов у себя решили глобально, написали декоратор на апекс сабмит, который закрывает все окно дивом с гифкой. Если сабмита нет, а спин нужен, дописываем по ситуации. У нас 4.1 мож в 5 чего штатного появилось
...
Рейтинг: 0 / 0
29.02.2016, 11:42
    #39181185
_kyky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Casufi, Декоратор это когда окно серенькое? Как такое сделать?
...
Рейтинг: 0 / 0
29.02.2016, 15:13
    #39181499
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
_kykyCasufi, Декоратор это когда окно серенькое? Как такое сделать?
Декоратор это патерн разработки
...
Рейтинг: 0 / 0
29.02.2016, 16:14
    #39181615
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Casufi,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
  function showSplash(){
  /*тут рисуем div с абсолютнім позиционированием и размерами на весь вьюпорт*/
  }
  
  var oldDoSubmit = doSubmit;
  var oldApexDoSubmit = apex.submit;

  doSubmit = function() {
     if (flagsubmit != 1){
       showSplash();
       oldDoSubmit.apply(this, arguments);
     }else{
       alert("Зачекайте, виконується попередня операція");
     }
     flagsubmit = 1;
  };

  apex.submit = function() {
     if (flagsubmit != 1){
       showSplash();
       oldApexDoSubmit.apply(this, arguments);
     }else{
       alert("Зачекайте, виконується попередня операція");
     }
     flagsubmit = 1;
   };
...
Рейтинг: 0 / 0
02.03.2016, 08:46
    #39183228
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Casufi мож в 5 чего штатного появилось
Вот и я хотел бы уточнить про это. ИМХО, блокировка экрана при submit, чтобы пользователь не нажимал несколько раз кнопки - должен быть штатный функционал.
...
Рейтинг: 0 / 0
02.03.2016, 09:38
    #39183277
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
KarlikCasufi мож в 5 чего штатного появилось
Вот и я хотел бы уточнить про это. ИМХО, блокировка экрана при submit, чтобы пользователь не нажимал несколько раз кнопки - должен быть штатный функционал.
Ну вообще то это и в четвертом есть, в настройках страницы, блок Duplicate Submission.
...
Рейтинг: 0 / 0
02.03.2016, 10:39
    #39183339
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Karlik,
Если пользователь может нажать дважды и вызвать процесс, значит можно банально вмешаться в его выполнение и либо блокировать кнопку либо закрыть дивлоговое окно. И проблемы не будет.
...
Рейтинг: 0 / 0
02.03.2016, 14:39
    #39183786
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
blkangelблок Duplicate Submission.
Он работает не совсем так, как хотелось. Он делает сабмит, но при єтом ругается что страница уже сабмитилась и контрольная сумма страницы изменилась. С точки зрения UX лучше просто запретить пользователю нажимать на кнопки и при этом еще и отрисовать, мол все в порядке, работаем, ничего не замерзло, просто отсылка данных немного затянулась.
...
Рейтинг: 0 / 0
02.03.2016, 15:00
    #39183823
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Casufiblkangelблок Duplicate Submission.
Он работает не совсем так, как хотелось. Он делает сабмит, но при єтом ругается что страница уже сабмитилась и контрольная сумма страницы изменилась. С точки зрения UX лучше просто запретить пользователю нажимать на кнопки и при этом еще и отрисовать, мол все в порядке, работаем, ничего не замерзло, просто отсылка данных немного затянулась.

Я сделал очень просто, я на нулевой страничке написал небольшой JS скриптец, который делает кнопку disabled кнопку на 2 секунды. Этого хватает за глаза, проблема с повторным сабмит просто исчезла.
...
Рейтинг: 0 / 0
02.03.2016, 16:24
    #39183990
Karlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX 5. Индикатор ожидания (spinner) на модальное окно
Для APEX 4 есть плагин Loading Icon для блокировки всего окна через DA для события Before Page Submit. В APEX 5 он не работает. Пока я сделал в лоб: повесил на кнопку DA, в котором делаю disable всем кнопкам на странице и в конце Submit Page с выводом спиннера.
Ну как мог...
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5. Индикатор ожидания (spinner) на модальное окно / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]