powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как показать пользователю, что в данный момент идет отработка запроса?
14 сообщений из 14, страница 1 из 1
Как показать пользователю, что в данный момент идет отработка запроса?
    #37766571
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычный отчет с параметрами и кнопкой. На after submit висит процесс, ктр вызывает запуск процедуры, формирующей отчет в заданном формате и кладущей его в специальную табличку в БД, откуда он на Before Header забирается и отдается пользователю.
Можно ли и как в процессе формирования отчета(отработки процедуры) информировать пользователя о том, что о нем не забыли и его запрос выполняется(часики, предупреждение итп...). Может кто-то встречал реализации данной фичи.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37766693
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37766966
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду по 4му документашку читать))
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37767106
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С кнопкой понятно и сразу возник вопрос, а как запустить dynamic action по сабмиту с определенным request.
Т.е. я нажимаю кнопку, по которой вызывается проверочная javascript-функция, ктр в итоге сабмитит страницу с определенным реквестом. Как пеехватить этот реквест и запустить dynamic action?
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37768175
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80Как пеехватить этот реквест и запустить dynamic action?

Зачем такие сложности? Добавьте очередной True Action в тот динамик, который запускается перед submit и устанавливает необходимый request.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37768293
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря, не понял, что имеется в виду под этим.
Пробовал еще следующий способ:

Header
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
function html_Submit_Progress(){  
$x_Show('AjaxLoading');  
window.setTimeout('$s("AjaxLoading",$x("AjaxLoading").innerHTML)', 100);  
doSubmit('check');  
}
function check(){
<<Проверка всего>>
function html_Submit_Progress();  
}



Footer

Код: sql
1.
2.
3.
4.
5.
<style>   
  #AjaxLoading{padding:5px;font-size:18px;width:300px;text-align:center;left:30%;top:30%;position:absolute;border:0px solid #666;background-color:transparant;}  
</style>  
<div id="AjaxLoading" style="display:none;">..Грузимсо..
<img src="#WORKSPACE_IMAGES#cada.gif" id="wait" /></div> 



Клик на кнопку вызывает функцию check()
После сабмита на выполнение запускается процесс, формирующий какое-то время отчет и кладущий его в таблицу.

На Before Header вызывается процедура wpg_docload, возвращающая отчет пользователю.
В данной интерпретации все работает,но картинка с надписью "Грузимсо" висит до следующей перезагрузки страницы(отчет уже выгружен), а нужно, чтобы убиралась по завершению этого "долгого" процесса. Ну или, чтобы в как в примере во время процесса вызывался затемняющий страницу process bar.

Без процесса, выгружающего пользователю отчет на Before Header все нормально работает. Но интереснее, конечно, вариант с затемнением страницы, но я не знаю, как его вызвать из javascript и как остановить после выполнения.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37768875
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил проблемку. Громоздковато, но работает.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37771302
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла новая проблема...
Старую решил(казалось бы...и счастье действительно было так близко...)
поставив в Footer код

Код: sql
1.
2.
3.
4.
5.
6.
7.
<script>
 if ('&REQUEST.&P3_ITEM.'=='XXXYY') 
  {
      var url;
  url = 'f?p=&APP_ID.:33:&SESSION.:proverka:::';
  html_PopUp(url,'Yo',700,400,1,1);}
</script>



В итоге после отработки процесса страничка перегружалась, картинка с имитацией выполнения процесса исчезала и открывалось окошко в котором грузилась страничка, на которую я повесил в Before Header запрос на нужный файл из таблицы с блобами.
В итогу файлк нормально открывался...открывался в современных браузерах(фф10, хром и ие9), но стоило проверить на старом 6-8 ie и кирдык. Новое окошко появляется на долю секунды и исчезает в неизвестном направлении. Если убрать из Before Header процесс, выгружающий файлик из таблицы, то всплывающее окно без проблем открывается...
Предложить пользователям переход на новые версии браузеров не катит...
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37771321
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80Предложить пользователям переход на новые версии браузеров не катит...

Чего это вдруг? Официально IE6 не поддерживается в APEX 4. Гугл, кстати, тоже помахал рукой IE6.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37771344
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что и ie 7-8 точно так же отработали на других компах. Только 9ка нормально справлялась...(

Попробовал вместо
Код: sql
1.
2.
3.
4.
{
      var url;
  url = 'f?p=&APP_ID.:33:&SESSION.:proverka:::';
  html_PopUp(url,'Yo',700,400,1,1);}



поставить
doSubmit('REQUEST') и на REQUEST создать бранч с перенаправлением на страницу с отчетом, НО тут перестал в некоторых браузерах на этой странице отрисовываться фон...
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37771487
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80,

я не совсем понимаю, зачем Вы раскидываете JavaScript-код по странице, учитывая, что для этого в APEX 4 есть специально предназначенные места, позволяющие избегать конфликтов:
- Dynamic Actions;
- секция JavaScript в свойствах страницы.

Что такое <<Проверка всего>>, и почему это происходит в JS-коде?

Попробуйте описать словами проблему, а не Ваше решение: нужно, чтобы А, потом Б, потом В.

Ещё раз: Вы можете создать динамик before submit, который по клику на Вашу кнопку будет выводить индикатор. Пользователь нажимает кнопку, индикатор выводится, страница обрабатывается. На странице, куда происходит переход после обработки, можно вставить в JavaScript→Execute When Page Loads открытие всплывающего окна с ссылкой на сформированный файл.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37771648
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerЧто такое <<Проверка всего>>, и почему это происходит в JS-коде?

На сервере приложений задеплоено java-приложение, работающее по типу captcha и в js через ajax идет проверка правильности ввода символов пользователем.

suPPLerПопробуйте описать словами проблему, а не Ваше решение: нужно, чтобы А, потом Б, потом В.

Проблема элементарная. Пользователю нужно выгрузить отчет в виде файла на основании выбранных параметров с проверкой через captcha. Обработка запроса может занять какое-то время и чтобы пользователь был уверен, что запрос обрабатывается, нужно на время отработки запроса, например, вывести картинку(гифку), а после выполнения убрать(скрыть) ее.

suPPLerЕщё раз: Вы можете создать динамик before submit, который по клику на Вашу кнопку будет выводить индикатор. Пользователь нажимает кнопку, индикатор выводится, страница обрабатывается. На странице, куда происходит переход после обработки
Как убрать его после обработки?))

suPPLer На странице, куда происходит переход после обработки, можно вставить в JavaScript→Execute When Page Loads открытие всплывающего окна с ссылкой на сформированный файл.
Да, уже думал об этом, но это крайний вариант,т.к. неудобно для пользователя.
1 Ему два раза придется нажимать кнопку "Получить результаты": сначала на главной форме, потом на всплывающем окне.
2 Это всплывающее окно потом так и останется висеть...

Теперь смотрю в строну on-demand application процессов. Не хотелось бы переделывать приложение, но если получится-придется.
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37772242
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу всплывающих окон. Нашел 3 ф-ции
html_PopUp();
window.open();
popupURL();

Первая замечательно работает в ФФ,IE=9,CHROME.(Работает и с выгрузкой по кнопке в окошке и автоматически Before Header). Регулировки размера окна работают.
В ИЕ<9 не работает.

Две вторые работают одинаково с выгрузкой по кнопке в этом окне. Так же в нормальных браузерах(ie>8 и все остальные) срабатывают и на автомат выгрузку. НО нигде не работает задание размеров popup-окна...
...
Рейтинг: 0 / 0
Как показать пользователю, что в данный момент идет отработка запроса?
    #37772271
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, немного мозгг перегрелся - window.open изменяет размеры везде
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как показать пользователю, что в данный момент идет отработка запроса?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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