|
|
|
Модальный диалог выбора
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=39297709&tid=1874512]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 573ms |

| 0 / 0 |
