|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Добрый день! Прошу подсказать решение, если кто-то пересекался с подобной задачей. APEX 19.1 На странице много элементов, отображение каждого из которых зависит от результата выполнения одной функции с параметрами. И чтобы управлять отображением, нужно для каждого элемента указать Server-side Condition. Можно ли как-то ускорить этот процесс, чтобы сделать один вызов и скрыть все предназначенные для этого элементы? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 13:27 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Насколько часто выполняется этот запрос? Я делал скрытие элементов для различных ролей пользователей на основе схем авторизации. Там возможно кеширование на разных уровнях: на элементе, на странице, на сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 14:08 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Sah Насколько часто выполняется этот запрос? Я делал скрытие элементов для различных ролей пользователей на основе схем авторизации. Там возможно кеширование на разных уровнях: на элементе, на странице, на сессии. Запросы выполняются при каждом открытии страницы и их может быть под 200 за раз. Для каждого элемента выполняется Condition (PL/SQL Expression) вида: Код: plsql 1.
И значение IN_FIELD_NAME меняется от элемента к элементу (или от группы элементов к группе), значение же IN_ANKET_ID на открытой странице одно. Кешировать не выйдет, т.к. матрица отображения может измениться. В зависимости от роли у меня устанавливается для элементов значение READONLY и его достаточно посчитать один раз для всех элементов, т.к. роль на текущую сессию одна и значение PL/SQL Expression можно сохранить в один скрытый элемент и потом его использовать для установки READONLY везде, где нужно. Я предполагал, что можно написать процедуру, которая средствами APEX пробежится по элементам страницы и установит Condition, где нужно (в зависимости от имени элемента, например) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 14:26 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Титов Артем, Если такое большое количество элементов на странице которое необходимо контролировать, может создавать их программно? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 07:10 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Пока в голову приходит только схема через JavaScript. Типа сформировать строку с именами элементов, которые нужно скрыть, записать в скрытый элемент, затем в JavaScript распарсить эту строку и скрыть все эти элементы. Но тут я не мастак. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 09:02 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
Титов Артем, а кто мешает одним вызовом сделать вычисления, закэшировав результат, скажем, в ассоциативном массиве - а на элементы в серверном условии вызывать ф-ю анализирующую значения элементов - она будет точно не тяжелой. Вызов делать before header страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 17:00 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
non-apexoid, +1 Один вызов, записал значение в элементе, остальные условия на этот элементЮбез обращения к БД ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 11:20 |
|
Как массово управлять отображением элементов на странице
|
|||
---|---|---|---|
#18+
blkangel non-apexoid, +1 Один вызов, записал значение в элементе, остальные условия на этот элементЮбез обращения к БД У меня так работает свойство readonly. Там в функции лишь один параметр - роль юзера и можно сохранить значение в один элемент и уже оттуда читать. Для condition же в функцию передается идентификатор каждого элемента и так сделать уже нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 21:37 |
|
|
start [/forum/topic.php?fid=50&msg=39951490&tid=1873903]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 138ms |
0 / 0 |