|
|
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Привет! Хотелось бы сделать эффективный модальный "селектор". С моим поверхностным знанием JS что-нибудь, да получится, но уж точно не эффективное (будет совершать лишние сабмиты, обращения к БД и т.п.) :) Итак, прецеденты: 1. На родительской странице жмакаешь кнопку "Выбрать клиента" 2. Открывается модальный диалог "Выбор клиента" с интерактивным репортом. 3. Находишь интересующую тебя запись и клацаешь на ней (или пиктограмме). 4. Модальный диалог закрывается, на родительской форме заполняется поле "Клиент" Как я понимаю, это достигается комбинацией DA и JS и я даже могу предположить некоторые варианты. Но хотелось бы воспользоваться выверенным решением лучших практиков. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 08:36 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, вот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 09:00 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, Ладно, опишу своё решение, а вы покритикуете: 1. Создаю ITEM P1_ID_SELECTED (скрытый) 2. Изменяю параметры ID-колонки репорта: 2.1 Код: html 1. 2.2 Код: html 1. 2.3 Код: html 1. 3. Ставлю DA на изменение P1_ID_SELECTED 4. Вуаля! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 09:16 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Я в свое время как то занимался вопросом передачи данных между модальным и родительским окном. В конце концов пришел к выводу, что самое оптимальное ничего не передавать, надо просто их присваивать Так как в модальном окне доступны все элементы. В вашем IR достаточно выполнить простейший скрипт назовем его closePopup(this); Ну и сам JS: Код: javascript 1. 2. 3. Все пользователям апекса, для установки значения элементу советую использовать именно $s. Это встроенная Апексовая АПИ, плюс она вызывает события onChange после присвоения элементу значения. Так же она умеет заполнять правильно такие элементы как select list и popLov $s("PXXX_PAGE_ITEM", idValue, displayValue); P.S. DA=JS, разница только в том, JS ты пишешь код вручную, DA Апекс это делает за тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 09:16 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelЯ в свое время как то занимался вопросом передачи данных между модальным и родительским окном. В конце концов пришел к выводу, что самое оптимальное ничего не передавать, надо просто их присваивать Так как в модальном окне доступны все элементы. В вашем IR достаточно выполнить простейший скрипт назовем его closePopup(this); Ну и сам JS: Код: javascript 1. 2. 3. Спасибо! Вроде я пришел к похожему решению (см. выше). Значит расту над собой! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 09:21 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelЯ в свое время как то занимался вопросом передачи данных между модальным и родительским окном. В конце концов пришел к выводу, что самое оптимальное ничего не передавать, надо просто их присваивать Так как в модальном окне доступны все элементы. В вашем IR достаточно выполнить простейший скрипт назовем его closePopup(this); Ну и сам JS: Код: javascript 1. 2. 3. Спасибо! Вроде я пришел к похожему решению (см. выше). Значит расту над собой! :) Вы как раз занимаетесь передачей данных между окнами и добавили лишние элементы для этого, и сделали промежуточные действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 09:27 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
красивым будет решение когда в DA появится Refresh или все события для родительской формы. То что ты привёл выше 19587486 банально забудешь завтра же. А надо простое чтобы помнил всегда и везде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 10:26 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123Курдль, а зачем ещё одну тему открыл? Вот решение. 19543332 эту строку написать в урл колонки таблицы модального окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 10:28 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelВы как раз занимаетесь передачей данных между окнами и добавили лишние элементы для этого, и сделали промежуточные действия. Я понимаю, что jQuery. модальный диалог и "вызывающее окно" - по сути одна и та же страница. Но стараюсь держаться ближе к APEX, чтобы мое приложение было понятнее тем, кто будет его развивать далее, да и мне самому. Я не понял до конца, как применить Ваше решение в моём случае. Сразу прописать в свойствах атрибута IR закрытие модального диалога и запись выбранного значения в ITEM вызывающей страницы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 11:41 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльНо стараюсь держаться ближе к APEX +1 не люблю диалоги (которые внешне снаружи) внутри базовой страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 12:06 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelВы как раз занимаетесь передачей данных между окнами и добавили лишние элементы для этого, и сделали промежуточные действия. Я понимаю, что jQuery. модальный диалог и "вызывающее окно" - по сути одна и та же страница. Но стараюсь держаться ближе к APEX, чтобы мое приложение было понятнее тем, кто будет его развивать далее, да и мне самому. Я не понял до конца, как применить Ваше решение в моём случае. Сразу прописать в свойствах атрибута IR закрытие модального диалога и запись выбранного значения в ITEM вызывающей страницы? Код: javascript 1. Последующие пункты не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:12 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel Код: javascript 1. Последующие пункты не нужны. Спасибо! Но мне кажется, что здесь есть один изъян :( Что, если этот "модальный селектор" вызывается разными страницами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:26 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel Код: javascript 1. Последующие пункты не нужны. Спасибо! Но мне кажется, что здесь есть один изъян :( Что, если этот "модальный селектор" вызывается разными страницами? передавайте в модальный селектор ID элемента в который надо вернуть значение. Код: javascript 1. где PXXX_RETURN_NAME - скрытый элемент, значение которого передалось с родительской стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:34 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Или так Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:35 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, уточните, пожалуйста, какую версию Apex вы используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:41 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelИли так Код: javascript 1. Код: javascript 1. Ни та, ни другая конструкция не срабатывает. Срабатывает во эта: Код: javascript 1. Правда диалог не закрывает, а только вносит выбранные данные в PXXX_RETURN_NAME Курдль, уточните, пожалуйста, какую версию Apex вы используете? 5.0.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 13:49 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, пробый все варианты. Потом FAQ напиши. Я тебе дал из рабочего варианта у заказчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:04 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123Курдль, пробуй все варианты. Потом FAQ напиши. Я тебе дал из рабочего варианта у заказчика. Спасибо! А твоё решение позволяет вызывать диалог из разных страниц? Вот это решение тоже работает и вполне меня устраивает: Код: javascript 1. Только оно требует промежуточного ITEM на модальной странице. Но иного способа обеспечить вызов диалога из разных страниц я не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:11 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelВсе пользователям апекса, для установки значения элементу советую использовать именно $s. Это встроенная Апексовая АПИ, плюс она вызывает события onChange после присвоения элементу значения. Так же она умеет заполнять правильно такие элементы как select list и popLov Код: javascript 1. А что такое displayValue? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:19 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльВот это решение тоже работает и вполне меня устраивает: да. У меня там конкретный айтемс на родительской. Из разных не подходит. Я жду 5-ку. Разве в 5-ке нет ничего для этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:24 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльВот это решение тоже работает и вполне меня устраивает: если работает, опиши потом полностью при закрытии темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:26 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123КурдльВот это решение тоже работает и вполне меня устраивает: да. У меня там конкретный айтемс на родительской. Из разных не подходит. Я жду 5-ку. Разве в 5-ке нет ничего для этого? Я на 5-ке и не знаю, что ты имеешь в виду. На 4-ке вроде ж вообще модальных диалогов не было?.. DA под названием Dialog Closed на 4-ке была? Я ее пользую на вызывающей странице, чтобы заполнить те поля, что были инициализированы в модальном диалоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:29 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльНа 4-ке вроде ж вообще модальных диалогов не было?.. всё верно. Я шёл как велит Оракл. Т.е. это отдельная страница с шаблоном Popup и вызовом Код: sql 1. - заказчик не жалуется. Вот я про 5-ку и спрашиваю. НИКТО не знает что там изменилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:35 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123если работает, опиши потом полностью при закрытии темы. 1. Создаю ITEM P1_ID_SELECTED (скрытый) 2. Изменяю параметры ID-колонки репорта: 2.1 Код: html 1. 2.2 Код: html 1. 2.3 Код: html 1. 3. Ставлю DA на изменение P1_ID_SELECTED 4. В этой DA прописываю TRUE ACTION: Код: html 1. 2. 5. В вызывающей странице создаю DA: Код: html 1. True Action: Код: html 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 14:46 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль5. В вызывающей странице создаю DA: п.5 не нашёл в 4-ке. Дай скрин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 15:52 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelИли так Код: javascript 1. Код: javascript 1. Ни та, ни другая конструкция не срабатывает. Срабатывает во эта: Наверное потому что ClosePopup нет в пятом Апексе, я его написал в надежде что вы его на подмените на свое. Я надеюсь хоть название элементов вы подставляете корректно. Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 15:58 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123п.5 не нашёл в 4-ке. Дай скрин. Опечатка. Правильно: Код: html 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 15:59 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, OK поздправляю. У меня с п.1 по п.5 в виде одной JS строки. У тебя лучше т.к. тоже самое но декларативно. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:03 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
если в 4-ке добавить каким то образом Курдль Код: html 1. то в 4-ке тоже можно так вызывать из любой родительской. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:05 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelparent.$s($v('PXXX_RETURN_NAME'),#EMPNO#);closeModal(); [/src] Не работает и так (корректность введенных элементов еще раз проверил визуально и на факте их корректного обновления). Но не доверяя своей криворукости, пытаюсь исполнить просто Код: javascript 1. Не срабатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:17 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangelparent.$s($v('PXXX_RETURN_NAME'),#EMPNO#);closeModal(); [/src] Не работает и так (корректность введенных элементов еще раз проверил визуально и на факте их корректного обновления). Но не доверяя своей криворукости, пытаюсь исполнить просто Код: javascript 1. Не срабатывает... если просто в консоле выполнить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:37 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangelparent.$s($v('PXXX_RETURN_NAME'),#EMPNO#);closeModal(); [/src] Не работает и так (корректность введенных элементов еще раз проверил визуально и на факте их корректного обновления). Но не доверяя своей криворукости, пытаюсь исполнить просто Код: javascript 1. Не срабатывает... Что в консоле пишет, какие ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:37 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Это во View Debug -> Errors? Ничего не пишет. Последняя ошибка 2 дня назад и та с SQL-запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:44 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
А вот интересно, зачем зарос дважды выполнялся, или я не умею читать дебаггер? Код: html 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 17:10 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel, Это во View Debug -> Errors? Ничего не пишет. Последняя ошибка 2 дня назад и та с SQL-запросом. Нет, это правая кнопка в браузере "Посмотреть код". вкладка Консоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 17:15 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, А, у меня это F12 :) Тоже нет никаких ошибок, равно как и предупреждений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 17:20 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel, А, у меня это F12 :) Тоже нет никаких ошибок, равно как и предупреждений Ах да, у вас же IE, ну вот откройте модальное окно и выполните там closeModal() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 17:30 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelАх да, у вас же IE, ну вот откройте модальное окно и выполните там closeModal() У меня FireFox, но все браузеры откликаются на F12 Я открыл модальное окно и выполнил там closeModal() Диалог не закрылся и в консоли не отразилось ни одной ошибки или предупреждения. Вот код: Код: javascript 1. Проверено на FF, IE, GC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 19:52 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
а так Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:10 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelа так Код: javascript 1. Да, это срабатывает безотказно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:30 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangelа так Код: javascript 1. Да, это срабатывает безотказно. Ну тогда без промежутков это будет так выглядеть Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:35 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelВсе пользователям апекса, для установки значения элементу советую использовать именно $s. Это встроенная Апексовая АПИ, плюс она вызывает события onChange после присвоения элементу значения. Так же она умеет заполнять правильно такие элементы как select list и popLov $s("PXXX_PAGE_ITEM", idValue, displayValue); Меня весьма заинтересовало это Ваше сообщение. Особенно в части, касающейся правильного заполнения select list и popLov. Мне удалось более-менее правильно заполнить popupLOV и то конструкцией вида: Код: javascript 1. где 999999 - ID, которого не существует в таблице. Я же надеялся запустить Код: javascript 1. но она не срабатывает ни для существующего ID, ни для несуществующего. На Select List не действовала ни одна из этих функций. Кстати. Может Вы, как большой знаток в JS+APEX, знаете способ насильственной перезагрузки плагина Select2? Думаю, что многие здесь были бы безмерно рады открытию такого метода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:42 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelНу тогда без промежутков это будет так выглядеть Код: javascript 1. Да, это работает! Спасибо - отличное решение для "модальных селекторов", вызываемых из одной страницы. Можно еще придумать, как динамически заменять 'PXXX_RETURN_NAME' на 'PYYY_RETURN_NAME' для случаев, когда вызовы модального диалога будут производиться из разных страниц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:53 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, если у вас 5-я версия, то я не понял, что мешает сделать страницу с вашим IR с шаблоном Modal Dialog, открывать эту страницу с другой какой угодно страницы по линку (при этом она будет переиспользуемой многократно), страница с IR будет открываться в модальном окне jQuery, и на вызывающих страницах сделать DA 'On Dialog Close', в которых значения элементов со страницы диалога будут передаваться элементам вызывающей страницы, причём все это будет сделано декларативно, без вашего js? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:58 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelВсе пользователям апекса, для установки значения элементу советую использовать именно $s. Это встроенная Апексовая АПИ, плюс она вызывает события onChange после присвоения элементу значения. Так же она умеет заполнять правильно такие элементы как select list и popLov $s("PXXX_PAGE_ITEM", idValue, displayValue); Меня весьма заинтересовало это Ваше сообщение. Особенно в части, касающейся правильного заполнения select list и popLov. Мне удалось более-менее правильно заполнить popupLOV и то конструкцией вида: Код: javascript 1. где 999999 - ID, которого не существует в таблице. Я же надеялся запустить Код: javascript 1. но она не срабатывает ни для существующего ID, ни для несуществующего. На Select List не действовала ни одна из этих функций. Кстати. Может Вы, как большой знаток в JS+APEX, знаете способ насильственной перезагрузки плагина Select2? Думаю, что многие здесь были бы безмерно рады открытию такого метода. Провел эксперимент, действительно в моей версии пятого апекса $s не работает (может исправят), но работает если использовать полное название функции 1. Для popupLov сработало даже не на существующее значение apex.item("PXXX_PAGE_ITEM").setValue(999,"Kakoi to bred"); 2. Для select list сработало только с имеющимся значением, при этом я обратил внимание, что второй параметр не нужен apex.item("PXXX_PAGE_ITEM").setValue(1); Так же есть и третий параметр у этой функции, ссылка на документацию. https://docs.oracle.com/cd/E59726_01/doc.50/e39149/javascript_api.htm#AEAPI29496 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 08:59 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
non-apexoidКурдль, если у вас 5-я версия, то я не понял, что мешает сделать страницу с вашим IR с шаблоном Modal Dialog, открывать эту страницу с другой какой угодно страницы по линку (при этом она будет переиспользуемой многократно), страница с IR будет открываться в модальном окне jQuery, и на вызывающих страницах сделать DA 'On Dialog Close', в которых значения элементов со страницы диалога будут передаваться элементам вызывающей страницы, причём все это будет сделано декларативно, без вашего js? А возвращаться то чего будет декларативно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:04 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
non-apexoid, Ну дак он вы с п.п.1-5 так и описал. Только получение самого диалога не дал. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:09 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelНу тогда без промежутков это будет так выглядеть Код: javascript 1. Да, это работает! Спасибо - отличное решение для "модальных селекторов", вызываемых из одной страницы. Можно еще придумать, как динамически заменять 'PXXX_RETURN_NAME' на 'PYYY_RETURN_NAME' для случаев, когда вызовы модального диалога будут производиться из разных страниц. Поясните ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:09 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelА возвращаться то чего будет декларативно? У меня возвращаются данные из промежуточных ITEMs, вписанных в параметр Items To Return TRUE ACTION "Close Dialog". А эти ITEMs, соответственно, заполняются по onClick на строчке из IR-выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:11 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльblkangelА возвращаться то чего будет декларативно? У меня возвращаются данные из промежуточных ITEMs, вписанных в параметр Items To Return TRUE ACTION "Close Dialog". А эти ITEMs, соответственно, заполняются по onClick на строчке из IR-выбора. Т.е. заполнение все равно не декларативно, плюс куча айтемов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:25 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Значения элементов на вызываемой странице диалога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:29 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, и действительно, вы правы. В обсуждении на 3 страницы в общем-то несложного вопроса главного не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:32 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
non-apexoidblkangel, Значения элементов на вызываемой странице диалога. Ваш Вариант: 1. Создать скрытые элементы в модальном окне 2. Заполнить не декларативно данными скрытые элементы 3. На каждом родительском окне создать DA. 4. Передать данные из модального окна в родительское. 5. Закрыть модальное окно Мой вариант. 1. Заполнить не декларативно данными элементы на родительском окне 2. Закрыть модальное окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:35 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelКурдльМожно еще придумать, как динамически заменять 'PXXX_RETURN_NAME' на 'PYYY_RETURN_NAME' для случаев, когда вызовы модального диалога будут производиться из разных страниц. Поясните Поясняю. Мы рассмотрели решение, когда клик на строке IR модального диалога вызывает заполнение конкретного ITEM 'PXXX_RETURN_NAME'. Но хотелось бы добиться заполнения любого ITEM любой вызывающей страницы, без изменения кода вызываемого модального диалога. Я этого добился некоторым отступлением от декларативного описания и введением ОДНОГО вспомогательного ITEM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:40 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, да, так. Только поменяйте местами п 4 и 5. 4 будет закрытие диалога, причем не крестиком диалога, а DA Close Dialog при выборе значения. 5 - срабатывание DA на закрытие. Код страницы - диалога многократно используемый. Преимущество - использование штатного функционала Apex. Минус - некоторая многословность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:51 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangelпропущено... Поясните Поясняю. Мы рассмотрели решение, когда клик на строке IR модального диалога вызывает заполнение конкретного ITEM 'PXXX_RETURN_NAME'. Но хотелось бы добиться заполнения любого ITEM любой вызывающей страницы, без изменения кода вызываемого модального диалога. Я этого добился некоторым отступлением от декларативного описания и введением ОДНОГО вспомогательного ITEM. PXXX_RETURN_NAME - Это скрытый элемент модального окна Значение его это PXXX_RETURN_NAME (ИД элемента родительского окна). Заполнение значения происходит при вызове модального окна, путем передачи параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:51 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, Кстати, если айтемсов не мнго, то это вполне допустимо. В терминах и концепции веб это обычная переменная для хранения values (значения). Только допиши пункт 0 про шаблон Диалог появившийся в 5ке дополнительно к шаблону Popup в 4ке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:52 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Поправка Значение его это PYYY_PARENT_ITEM_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:54 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
non-apexoidblkangel, да, так. Только поменяйте местами п 4 и 5. 4 будет закрытие диалога, причем не крестиком диалога, а DA Close Dialog при выборе значения. 5 - срабатывание DA на закрытие. Код страницы - диалога многократно используемый. Преимущество - использование штатного функционала Apex. Минус - некоторая многословность. Еще надо проверить передачу многострочных значений и спец символов, есть у меня сомнения по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:56 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelPXXX_RETURN_NAME - Это скрытый элемент модального окна Значение его это PXXX_RETURN_NAME (ИД элемента родительского окна). Заполнение значения происходит при вызове модального окна, путем передачи параметра. Вот теперь понял! И понял, почему $v Для таких, как я, надо писать: "Делай раз..." :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 10:17 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Закругляемся? Вариант1 - декларативный. Для 5-ки окно с шаблонм Dialog. Для 4-ки с шаблоном Popup Курдль1. Создаю ITEM P1_ID_SELECTED (скрытый) 2. Изменяю параметры ID-колонки репорта: 2.1 Код: html 1. 2.2 Код: html 1. 2.3 Код: html 1. 3. Ставлю DA на изменение P1_ID_SELECTED 4. В этой DA прописываю TRUE ACTION: Код: html 1. 2. 5. В вызывающей странице создаю DA: Код: html 1. True Action: Код: html 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:00 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, 5. Event: Dialog Closed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:16 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Как передать 2 параметра в вызывающую страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:21 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel, Как передать 2 параметра в вызывающую страницу? Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:25 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Да, прежде чем лезть на форум, я опробовал такую конструкцию. Результат: Код: html 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:29 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Вариант1 (Курдль) - декларативный. Для 5-ки окно с шаблонм Dialog. Для 4-ки с шаблоном Popup Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:46 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel, Да, прежде чем лезть на форум, я опробовал такую конструкцию. Результат: Код: html 1. Скорее всего #EMPNO# или #EMPNAME# содержат пробелы, скобки, спец символы и т.д. Код: javascript 1. А вообще аппетит у вас растет, и двумя строчками наверное не ограничется, поэтому перенесите все в функцию. Числовые значение в скобки можно не брать. Код: javascript 1. Это в хеадер страницы Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:52 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Исправляюсь, делаю на бумажке все. Код: javascript 1. Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 11:57 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Да, вот это отлично, спасибо! Аппетиты у меня не растут, а были изначально сообразны выбранному решению. А именно: вызывающая форма после успешного выбора из "модельного селектора" должна показать пользователю ENAME, а для внутренней логики использовать EMPNO. Отсюда и 2 параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:08 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel, Да, вот это отлично, спасибо! Аппетиты у меня не растут, а были изначально сообразны выбранному решению. А именно: вызывающая форма после успешного выбора из "модельного селектора" должна показать пользователю ENAME, а для внутренней логики использовать EMPNO. Отсюда и 2 параметра. сам видишь, что тут очень сложно понять грань разумности. Диалоги разные бывают. Есть карточка клиента, которая меняет 150 параметров при вызове в модальном режиме. Поэтому всё таки правильнее в диалоге записать в БД, и сделать Refresh(перезапрос) именно того айтемса\региона который нужен. Второй момент, что диалоговые окна меняются от версии к версии. И вообще, это уже оффтоп. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:18 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel Код: javascript 1. Да, аппетиты растут, извиняюсь! :) Но для феерического завершения этой ветки, хотелось бы понять, можно ли переиспользовать функцию setAndClose для "транзитной" передачи параметров из вложенной модальной формы "Создать ..."? Просто установка DA типа "Исполнить JS": setAndClose(PZZZ_EMPNO,'PZZZ_EMPNAME') приводит к ошибке браузера "переменная PZZZ_EMPNO не определена". Прецедент: когда в модальном селекторе не нашлось требуемой записи и её необходимо создать в новом модальном диалоге 2-го уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:38 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльblkangel Код: javascript 1. Да, аппетиты растут, извиняюсь! :) Но для феерического завершения этой ветки, хотелось бы понять, можно ли переиспользовать функцию setAndClose для "транзитной" передачи параметров из вложенной модальной формы "Создать ..."? Просто установка DA типа "Исполнить JS": setAndClose(PZZZ_EMPNO,'PZZZ_EMPNAME') приводит к ошибке браузера "переменная PZZZ_EMPNO не определена". Прецедент: когда в модальном селекторе не нашлось требуемой записи и её необходимо создать в новом модальном диалоге 2-го уровня. Не пробовал, думаю да, сколько вложений, столько и приставок parent Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:42 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдльпереиспользовать функцию setAndClose для "транзитной" передачи параметров в вебе так не делают. Это передача данных между окнами. Решается в базовом варианте через REST т.е. урл. Если решить писать ФУНКЦИИ, то нефиг было айтемсы и декларативно писать. Надо было через запятую или сюда же МояСуперФункция() Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:54 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, У мня на 1 окно может быть 12-15 диалогов. Это я на каждый диалог должен функции писать? Бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 12:56 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
ну или коротко слоган: "Если вы в апекс используете функцию JS(свою), значит оракле пока где то недоработал, или вы используете апекс шиворот навыворот." (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:00 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123Курдльпереиспользовать функцию setAndClose для "транзитной" передачи параметров в вебе так не делают. Это передача данных между окнами. Передача данных "jQuery - jQuery - вызывающая страница" - это не передача данных между окнами. Petro123Если решить писать ФУНКЦИИ, то нефиг было айтемсы и декларативно писать. Я ищу себя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:12 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльПередача данных "jQuery - jQuery - вызывающая страница" - это не передача данных между окнами. jQuery - это просто набор функций. То что модальный диалог сегодня в этом же окне, а завтра в другом как раз и говорит о инкапсуляции. Т.е. все потроха одного окна не должны волновать другое. У тебя же в выше примере разные окна? Шаблон для окна Другой страницы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:26 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльЯ ищу себя :) это хорошо)). Есть ещё такая мысль. ВИ - бухгалтерия ============== - ввод нового сотрудника - в выпадающем списке его нет - нажимаем кнопу и вызываем диалоговое окно - вводим нового сотрудника и заполняем кучу всего - ОК = коммит, а может коммит не пройти и будет райзе. А может райзе не дойти т.к. это веб! Кроме того проверки могут быть в триггере. - т.е. по хорошему, всё равно регион или айтем ПРИ модальном окне надо перечитать из СУБД. ---------- Т.к. за НЕцелостность данных и посадить могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:43 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, Идея транзакционной целостности для меня не нова. Я после длительного перерыва опять отправлен работать на APEX. Причем уже на 5-й. Приходится нагонять экстерном. До просветления, когда четко всё понимаешь - еще далеко :( И я бы не изголялся, если бы простые на первый взгляд приёмы сразу же заработали. Например, был бы простой способ отрефрешить Select List после добавления новой записи в связанную таблицу. Без модальных диалогов это всё бы работало по старинке без проблем. Так как отрефрешить прекрасный Select2? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:02 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, Вот зачем писать кучу дерьма воды не по теме, опять загадил всю тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:04 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльPetro123, Идея транзакционной целостности для меня не нова. Я после длительного перерыва опять отправлен работать на APEX. Причем уже на 5-й. Приходится нагонять экстерном. До просветления, когда четко всё понимаешь - еще далеко :( И я бы не изголялся, если бы простые на первый взгляд приёмы сразу же заработали. Например, был бы простой способ отрефрешить Select List после добавления новой записи в связанную таблицу. Без модальных диалогов это всё бы работало по старинке без проблем. Так как отрефрешить прекрасный Select2? :) Нельзя инициировать рефреш из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:05 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelНельзя инициировать рефреш из БД. В каком смысле "из БД"? Инициатором должно быть событие - напр. закрытие вложенного модального диалога. Обычный Select List нормально обновляется по Action "Refresh". Однако попытка установить в нем n = ID новой записи проваливается, т.к. следующая после "Refresh" Action пытается совершить Set Value до окончания процедуры обновления данных в списке. А вот плагин Select2 - вообще не откликается на команду "Refresh". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:16 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльТак как отрефрешить прекрасный Select2? про него уже говорили. У меня память хорошая. Это баг, и скоро будет исправлен. Если хочешь чтобы тебя понималя программисты, то пиши функцию. Но в комментах и через слово пиши: "Костыль! Ло рефакторинга! Не работает OnRefresh()". Тогда тебя поймут все. И я в том числе). Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:19 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelPetro123, Вот зачем писать кучу дерьма воды не по теме, опять загадил всю тему. ты не программист, а кодер. Тебе не понять. Не парься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:20 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123blkangelPetro123, Вот зачем писать кучу дерьма воды не по теме, опять загадил всю тему. ты не программист, а кодер. Тебе не понять. Не парься. Вы надоели гадить уже во всех темах, иногда не успеваешь даже помагать людям, потому что вы гадите на так быстро, что я скролитьне успеваю. Вы в каждой теме пишите по десять раз "я умею только программировать декларативно, до другого умишком не вышел" И ТАК В КАЖДОЙ ТЕМЕ. Вас все услышали, не надо повторятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:26 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, Даже не смей присваивать высокое звание программиста, ты ТРЕПЛО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:28 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangel, Не подскажешь, как перехватить возвращаемые значения из закрывшегося диалога? Поясню. Есть возможность оседлать DA Dialog Closed и в True Actions типа Set Value присваивать значения ITEM-ам вызывающей страницы (по одному на action). А возможно ли для этой DA создать True Actions типа Execute Javascript Code, в котором сразу вводить, например, в аргументы функции значения, возвращенные закрывшимся диалогом? Поясню на примере. Вариант I - долгий. 1. создать DA на event "Dialog Closed" 2. создать в ней True Actions типа Set Value -> Dialog Return Item 3. Returned Item = P2_EMPNO, Affected elements: Item(s) = P1_EMPNO_NEW 4. создать в ней True Actions типа Set Value -> Dialog Return Item 5. Returned Item = P2_ENAME, Affected elements: Item(s) = P1_ENAME_NEW 6. создать в ней True Actions типа Execute Javascript Code: Код: javascript 1. А хотелось бы: 1. создать DA на event "Dialog Closed" 2. создать в ней True Actions типа Execute Javascript Code: Код: javascript 1. Такое возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 17:08 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль2. создать в ней True Actions типа Execute Javascript Code: Код: javascript 1. Такое возможно? ты сам попробуй в консоли запустить свой код и всё поймёшь. - как минимум, напиши чтобы он компилировался без ошибок в консоли. Т.е. Код: sql 1. JS не понимает что это такое. Dialog Return - ты хочешь убрать? Забирать значения в JS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 17:43 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
вот тут почитай про кучу сложностей с контекстом этих диалогов. http://hardlikesoftware.com/weblog/2015/05/22/apex-5-0-dialogs/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 17:54 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Кстати, в статье грамотно сказано что диалог не должен знать о родительской, а родитель о нем может знать. Т.е. можно в событии close на родительской попробовать достучаться до айтемсов диалога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 18:31 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, Я сам - адепт ООП и апологет паттернов слабого связывания. Но ведь в конструкции "Returned Item = P2_EMPNO, Affected elements: Item(s) = P1_EMPNO_NEW" ты всё равно обращаешься к переменной вызываемой страницы! Более того, в procession этой страницы типа Close Dialog, - ты явно декларируешь возвращаемые параметры. Так почему бы не воспользоваться ими напрямую (без промежуточного переписывания)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 19:59 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльЯ сам - адепт ООП и апологет паттернов слабого связывания. ты крут! )) Поддерживаю. КурдльНо ведь в конструкции "Returned Item = P2_EMPNO, Affected elements: Item(s) = P1_EMPNO_NEW" ты всё равно обращаешься к переменной вызываемой страницы! Есть слабое связывание, а есть "контекст" который очень важен в JS. Тут всё потоки и асинхронно. В статье как раз про это. Может так перемешаться что будешь потом ошибку искать месяц на продакшене. Вон, у тебя была ошибка по защите из за того что один код не закончил менять айтемс, а второй проверял контрольную сумму. 2. Контекст - это когда родитель знает того кого родил. А не наоборот. Очень часто в ЯП используется. Тут в апекс например, как раз, В КОДЕ РОДИТЕЛЯ В DA забирается из переменной P2 модального в переменную P1 родителя. Правильно понял где они расположены? КурдльБолее того, в procession этой страницы типа Close Dialog, - ты явно декларируешь возвращаемые параметры. Так почему бы не воспользоваться ими напрямую (без промежуточного переписывания)? упс. У меня нет 5-ки. А 4-ке такого нету. Может завтра 5-ку поставлю гляну. Не знаю. Ты статью хотя бы гугл переводчиком переведи и прочти. Там вроде толково всё. 3. Там вроде есть и описаны 2 формата модального. В виде страницы и в виде jQuery внедрённого. Есть такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 22:12 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльТак почему бы не воспользоваться ими напрямую (без промежуточного переписывания)? во первых попробуй. Кто мешает. Одно дело правильно архитектурно, но работает. Второе дело что и не работает совсем. В событии Dialog Close в родителе получи значение айтемс диалогового через $v( или $x( или как там ещё. ... А все п.п. 6 штук что выше, это ведь в плагине написаны программистом. Как он там их обозначил, такими ты их и видишь. Никакой магии. Зайди в shared - плагины - selec2 и глянь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 22:18 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123, Спасибо, завтра почитаю! Но в APEX 5.0 вроде нет никаких подтипов Modal Dialog. Я в доке читал, что это в любом случае jQuery, но всегда реализуется отчуждаемо от страницы вызова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 22:42 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
blkangelColumn Attributes > Column Link > Link Attributes > onClick="setAndClose(#EMPNO#,\'#EMPNAME#\')" Это в хеадер страницы Код: javascript 1. 2. 3. 4. 5. Привет! Эта конструкция не работает в APEX 5, когда вызывающая и вызываемая страницы имеют тип Modal Dialog ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 09:31 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Курдль, А вызывающая с чего вдруг диалог тип? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 11:05 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльPetro123, Но в APEX 5.0 вроде нет никаких подтипов Modal Dialog. Я в доке читал, что это в любом случае jQuery, но всегда реализуется отчуждаемо от страницы вызова. это не понял. Там разве не 2 типа диалогов? - в виде региона этой же страницы - в виде отдельной страницы в терминах апекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 11:56 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123Курдль, А вызывающая с чего вдруг диалог тип? Да типичный же кейс: 1. Списочная форма "человечки" с кнопкой "добавить" 2. Модальная форма "Добавить человечка". На ней, помимо типичных ФИО, например: кнопка "выберите адрес" 3. Модальная форма "Выбор адреса" с IR и сложной логикой выбора. Petro123это не понял. Там разве не 2 типа диалогов? - в виде региона этой же страницы - в виде отдельной страницы в терминах апекс? Ты же мне сам давал ссылку почитать, какой охрененный подвиг совершила команда разработки APEX, чтобы сделать модальную форму всегда отчуждаемым элементом типа iFrame, а не тупо Div вызывающей страницы. Нет в 5.0 никаких регионов типа Modal. Э Это свойство всей страницы. Прилагаю скриншоты типов и шаблонов регионов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:22 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльДа типичный же кейс: 1. Списочная форма "человечки" с кнопкой "добавить" 2. Модальная форма "Добавить человечка". На ней, помимо типичных ФИО, например: кнопка "выберите адрес" 3. Модальная форма "Выбор адреса" с IR и сложной логикой выбора. вызов матрёшек из НЕСКОЛЬКИХ ОДНОВРЕМЕННО диалогов в вебе тем более изварт. Но это мы уже обсуждали. Так что соболезную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:28 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123вызов матрёшек из НЕСКОЛЬКИХ ОДНОВРЕМЕННО диалогов в вебе тем более изварт. Но это мы уже обсуждали. Так что соболезную. Зато Users Friendly Interface!!! :) Это ж разве матрёшка? Я забил на осторожность и реализовываю цепочки до 8-и вложений :) Типа "не нашел улицу - открой еще одно вложенное окно и введи! и т.п." :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:31 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльТы же мне сам давал ссылку почитать, какой охрененный подвиг совершила команда разработки APEX, чтобы сделать модальную форму всегда отчуждаемым элементом типа iFrame, а не тупо Div вызывающей страницы. Нет в 5.0 никаких регионов типа Modal. Э Это свойство всей страницы. Прилагаю скриншоты типов и шаблонов регионов помедленнее)) У меняч нет 5-ки. - допустим сделали iFrame. Меня это мало интересует. Значит можно вызвать страничку 156 модально типа так: API.ShowModalPage(url=f?p=&APP_ID.:156) Если да - то замечательно. Пошли дальше, что там не выходит у тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:32 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
авторЗато Users Friendly Interface!!! :) нравится писать Г.код - пиши. Соболезную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:33 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльЗато Users Friendly Interface!!! :) не ври автор1С:Предприятие использует модальные окна в тех ситуациях, когда от пользователя требуется ввод информации, без которой невозможно дальнейшее выполнение алгоритма. При этом полностью блокируется весь остальной интерфейс программы, а исполнение программного кода останавливается до тех пор, пока пользователь не закроет модальное окно. С появлением веб-клиента и с переходом 1С:Предприятия на мобильные платформы, модальные окна оказались источником большого количества неудобств и проблем, зачастую неразрешимых. Как правило "десктопные" браузеры лучше или хуже, но поддерживают модальные окна и открывают их в новом окне браузера как "всплывающее окно": ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 13:37 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
Petro123помедленнее)) У меняч нет 5-ки. - допустим сделали iFrame. Меня это мало интересует. Значит можно вызвать страничку 156 модально типа так: API.ShowModalPage(url=f?p=&APP_ID.:156) Если да - то замечательно. Пошли дальше, что там не выходит у тебя. Я не использую таких конструкций. Канонический подход 5.0 - сначала закрепить за страницей свойство "Modal Dialog", а потом только вызывать из родительской страницы. Даже так не сработает вообще: .../f&p=111:159:... И из интерфейса разработчика АРЕХ модальную форму вызвать невозможно. А не получилось у меня использовать способ blkangel. Я вернулся к параметрическому способу и всё заработало. P.S. Про говнокод. Художника всякий может обидеть :( Однако, если система, допускающая многократную вложенность, успешно показала себя на МТ, СТ, ИФТ, НТ, ПСИ и ОЭ - зачёт считаю засчитанным! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 14:08 |
|
||
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#18+
КурдльЯ вернулся к параметрическому способу и всё заработало. если работает, то ОК КурдльP.S. Про говнокод. Художника всякий может обидеть :( Однако, если система, допускающая многократную вложенность, успешно показала себя на МТ, СТ, ИФТ, НТ, ПСИ и ОЭ - зачёт считаю засчитанным! ;) конечно дело твоё)). Есть понятие мейнстрим в технологии. Просто будь в курсе)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 14:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=50&tid=1874512]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 370ms |

| 0 / 0 |
