powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выполнение Dynamic Action на другой странице
25 сообщений из 33, страница 1 из 2
Выполнение Dynamic Action на другой странице
    #38926349
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки APEX, пожалуйста подскажите, возможно ли реализовать подобную вещь:
необходимо, чтобы при нажатии кнопки на одной странице вызывался Dynamic Action на другой странице.
В чем смысл: есть несколько пользователей системы. При добавлении одним из пользователей записи в таблицу надо, чтобы у остальных пользователей, находящихся на главной странице в текущий момент, появлялось сообщение о том, что кто-то только-что добавил в ту таблицу новую запись.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926361
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKis,

Это получается нужно чтобы сервер сделал мульти рассылку всем. Нет, просто так нельзя. Самое быстрое решение - это самому опрашивать таблицу каждые n секунд. Или сложное решение через node.js. Но ради такой задачи не стоит мне кажется.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926403
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,
Вообще задача следующая: на форме один пользователь пишет текст сообщения и выбирает кому его отправить, нажимает "Отправить". Выбранный пользователь, переходя на главную страницу, получает уведомление о том, что ему отправили сообщение.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926411
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyИли сложное решение через node.js.
А при чем тут node js ? Кроме него сокеты spdy или html/2 никто из серверов не умеет ?
На апексе можно DA пинать через setTimeout( и проверятьна сервере чего изменилось.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926412
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKisGustly,
Вообще задача следующая: на форме один пользователь пишет текст сообщения и выбирает кому его отправить, нажимает "Отправить". Выбранный пользователь, переходя на главную страницу, получает уведомление о том, что ему отправили сообщение.
Если это происходит при загрузке страницы, то никаких Dynamic Action не нужно или только как сказал Gustly.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926417
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisи выбирает кому его отправить
поиск делал? Вчера вроде обсуждали.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926426
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример клиентской части
Всплывающие сообщения вот этим http://needim.github.com/noty/

Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
    <script language="JavaScript" type="text/javascript">
        function NotifiClose(msg){            
            var get = new htmldb_Get(null, $v('pFlowId'), 'APPLICATION_PROCESS=CloseNotification', 0);
            get.addParam('x01',msg.options.msg_id);
            var greturn = get.get();
            greturn = undefined;
        }
        
        function GetNotifiData(){
            var timecoef = 1000;
            var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=GetNotification',0);
            //get.addParam('x01', node.data.key);
            var greturn = get.get();
            var results;
            try{
                results = $.parseJSON(greturn);
            }catch(e){
                results = {};
            }
            
            greturn = undefined;

            var timing = 180;
            if (results.timing && results.timing > 0){
                timing = results.timing;
            }
            if (results && results.messages){
            for (var i = 0; i < results.messages.length; i++){
                if (results.messages[i].message){
                    var msgtype = 'alert';
                    if (results.messages[i].msgtype){
                        msgtype = results.messages[i].msgtype;
                    }
                    var timeout = false;
                    if (results.messages[i].timeout && results.messages[i].timeout > 0){
                      timeout = results.messages[i].timeout*timecoef;
                    }
                    var buttons = false;
                    if (results.messages[i].msg_id && results.messages[i].confirm && results.messages[i].confirm == 1){
                        buttons = [{
                            addClass: 'btn btn-primary', text: 'Ok', onClick: function ($noty) {
                                var get = new htmldb_Get(null, $v('pFlowId'), 'APPLICATION_PROCESS=ConfirmNotification', 0);
                                get.addParam('x01',$noty.options.msg_id);
                                var greturn = get.get();
                                greturn = undefined;
                                $noty.close();
                            }                          
                        }]    
                    }    
                    var notification = noty({
                        layout: 'bottomRight',
                        type: msgtype,
                        text: results.messages[i].message,
                        msg_id: results.messages[i].msg_id,
                        timeout: timeout,
                        callback: {
						  onCloseClick: function(){
                              NotifiClose(this);
                          }
                        },
                        buttons: buttons
                    });
                notification = undefined;    
                }
            }
            }    
            setTimeout(GetNotifiData,timing*timecoef);
        }

        $(document).ready(function(){
            GetNotifiData();
        });
    </script>
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926534
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,
не могли бы пояснить, как это работает?
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926551
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisCasufi,
не могли бы пояснить, как это работает?
С яваскриптом дружишь ?
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926559
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,
Не очень, если честно.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926560
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiDKisCasufi,
не могли бы пояснить, как это работает?
С яваскриптом дружишь ?
обычно чата и реалтайм хотят те, кто не дружит)
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926562
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Обычно этого хотят работодатели. Чтобы все сразу и не хуже, чем "у того парня") Вот и приходится на ходу технологии новые для себя осваивать. Я простейшие вещи на яваскрипте делал, синтаксис знаю. Но далеко-далеко не гуру. Только учусь.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926563
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisне могли бы пояснить, как это работает?
Он деманд процесс GetNotification выдает json в формате
{timing : задержка перед следующей проверкой сообщений(если необходимо ее изменить)
messages: [пачка сообщений в формате]
{msgtype: тип,
timeout : время сколько будет висеть перед пользователем,
confirm : просто сообщение илитребует подтверждения о прочтении,
message: текст,
id: ИД в таблице по которому два другие процессса проставляют статус}

Процессы CloseNotification и ConfirmNotification Проставляют статусы в таблице по ИД

Ну собственно все.
Процедура рекурсивно ставит себя на выполнение с задержкой setTimeout(GetNotifiData,timing*timecoef);

Пример работы noty() можно посмотреть на сайте
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926567
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisОбычно этого хотят работодатели. Чтобы все сразу и не хуже, чем "у
Ну я могу тут выложить биткойн кошелек и расписать "готовое решение" когда там наберется больше половины койна
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926575
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,
Нет, спасибо.
Попробую сам разобраться)
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926584
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKis,
Обратись, к Petro123. Он без кошелька помогает. Вон одному уже почти написал приложение
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926587
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelDKis,
Обратись, к Petro123. Он без кошелька помогает. Вон одному уже почти написал приложение
Мне не надо чтобы за меня писали приложение. Я всего лишь попросил у более опытных коллег задать направление возможно ли это реализовать и ести да, то в какую сторону копать.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926589
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKis,
Не обижайся. Направление тебе дали и даже больше.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926592
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. Всем большое спасибо за ответы.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926596
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKis,

выдать json из Он деманд процесса

htp.p('{"timing":'||l_timing||', "messages":[{"message":"'||cur.text||'"},{}]}');
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926599
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется пора в FAQ выносить тему инициализации действия на клиенте, по событию на сервере. С разъяснением, что Апекс тут не при чем, виновата технология HTML.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926606
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisОбычно этого хотят работодатели.
я в курсе.
Бывает и драйвера просят на Java сделать.
И фотошоп в вебе организовать.
Что делать? Только направлять этих работодателей на путь истинный))).
Ну, или увольняться.
Могут же и тонер попросить заменить)... и бумагу принести...
Ничего личного. Только IMHO. Удачи)
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926607
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelМне кажется пора в FAQ выносить тему инициализации действия на клиенте
Тут целый пласт проблем. Люди не совсем понимают что такое Веб разработка и какой код выполняется на сервере, а какой на клиенте.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926610
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiblkangelМне кажется пора в FAQ выносить тему инициализации действия на клиенте
Тут целый пласт проблем. Люди не совсем понимают что такое Веб разработка и какой код выполняется на сервере, а какой на клиенте.
причём именно в этой ветке их больше, т.к. период вхождения небольшой.
Се ля ви.
...
Рейтинг: 0 / 0
Выполнение Dynamic Action на другой странице
    #38926613
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelВон одному уже почти написал приложение
это пока я сам учусь))) Потом будет лень))) уйду на пенсию)
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выполнение Dynamic Action на другой странице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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