Набор фильтров
Назначение
Набор фильтров - это невидимая компонента-контейнер, которая позволяет расположить внутри себя поля (Фильтры), с помощью которых будет происходить фильтрация и указать таблицу по которой будет происходить поиск.
Компонента Набор фильтров находится в разделе **Компоненты - Контейнеры -Набор фильтров
Свойства
Компонента имеет набор общих свойств и подгрузка данных по умолчанию. Ниже отображены свойства, специфичные только для данной компоненты.
Общие
| Наименование свойства | Назначение свойства | Принимаемые значения |
|---|---|---|
| Фильтровать сразу | позволяет установить условие по которому будет происходить применение фильтрации. Иными словами, можно задать условие по которому применение фильтра будет происходить после нажатия на кнопку фильтрации, либо динамически, после ввода данных в поле фильтрации. |
|
| Запоминать значения фильтра | позволяет восстанавливать значения фильтров при возврате на страницу, т.е.запоминать значения фильтров (сохранять в кэше). При этом значение фильтра, заданное пользователем имеет приоритет над значением фильтра по умолчанию |
|
| Пропустить подгрузку данных (Skip initial loading) | позволяет исключать подгрузку данных в таблицу без указания значений фильтров (пустыми фильтрами) |
|
| Шаблон текста при валидации | позволяет задать шаблон вывода сообщения (текст сообщения), отображаемого в окне ошибки при валидации значений фильтров По умолчанию шаблон сообщения выставлен как:“#{label}: #{message}”, где параметры интерпретируются следующим образом: #{label} - наименование компоненты, в которой произошла ошибка #{message} -текст сообщения об ошибке |
Примеры возможной настройки: При пустом значений в поле* Message Validation Template* текст в окне об ошибке, отображаемом, например, при не заполнении значения в обязательном поле, будет отображаться по шаблону "#{label}: #{message}", где #{label} - наименование компоненты, в которой произошла ошибка (например, поле ФИО) #{message} - текст сообщения об ошибке (значение по умолчанию Поле обязательно). |
Сохранение и загрузка значений в локальном хранилище
Система позволяет с помощью свойства filterValuesSaveStrategy сохранять значения полей фильтрации в локальном хранилище браузера. А с помощью свойства filterValuesLoadStrategy подставлять значения из локального хранилища браузера в поля фильтрации.
Время жизни определяется параметром filter_cleanup_interval_hours.
Если страница в контексте BPMN процесса, то сохранение/восстановление работает в рамках одного экземпляра процесса.
Сценарий 1. Необходимо подставлять предыдущее значение полей фильтрации при возврате на страницу.
Вариант решения: на странице в наборе фильтров (FilterGroup) задать filterValuesSaveStrategy = BY_PAGE_OBJECT_ID, filterValuesLoadStrategy = BY_PAGE_OBJECT_ID.
Сценарий 2. Необходимо подставить значений полей фильтрации из страницы 1 на страницу 2, при условии, что имена полей фильтрации и имя набора фильтров (FilterGroup) совпадают.
Вариант решения:
-
На странице 1
-
Значения полей фильтрации сохраняем в хранилище по имени объекта. Для этого задаём filterValuesSaveStrategy = BY_OBJECT_NAME.
-
На странице 2
-
Значения полей фильтрации берём из хранилища по имени объекта. Для этого задаём filterValuesLoadStrategy = BY_OBJECT_NAME.
| Наименование свойства | Назначение свойства | Принимаемые значения |
|---|---|---|
| filterValuesLoadStrategy | Стратегия загрузки значений вложенных компонент-фильтров | - BY_PAGE_OBJECT_ID - Подгрузка значений фильтров по ключу = идентификатор страницы + идентификатор объекта + id процесса если это bpmn процесс - BY_OBJECT_NAME - Подгрузка значений фильтров по ключу = имя объекта + id процесса если это bpmn процесс - BY_CUSTOM_NAME - Подгрузка значений фильтров по ключу = ключ указанный в поле filterValuesLoadStorageName + id процесса если это bpmn процесс |
| filterValuesLoadStorageName | ключ по которому необходимо загружать значения фильтров из локального хранилища | |
| filterValuesSaveStrategy | Стратегия сохранения значений вложенных компонент-фильтров | - BY_PAGE_OBJECT_ID - сохранение значений фильтров по ключу = идентификатор страницы + идентификатор объекта + id процесса если это bpmn процесс - BY_OBJECT_NAME - сохранение значений фильтров по ключу = имя объекта + id процесса если это bpmn процесс - BY_CUSTOM_NAME - сохранение значений фильтров по ключу = ключ указанный в поле filterValuesSaveStorageName + id процесса если это bpmn процесс |
| filterValuesSaveStorageName | ключ по которому необходимо сохранять значения фильтров в локальное хранилище |
Функции
В ходе настройки свойств компоненты (заданных по умолчанию) может оказаться недостаточно для выполнения поставленной задачи и получения необходимого результата.
Для каждой компоненты предусмотрен**перечень функций, расширяющих её базовую функциональность,**которые можно добавить нажатием кнопки.
Вследствие технических особенностей реализации функций (-функции, которые выполняются удаленно на сервере приложений,- функции, которые выполняются в браузере пользователя), они имеют разные иконки, но это никак не влияет на их функциональность или предпочтительность использования.
Рекурсивно копировать составные объекты сложных компонент
TODO: описать
Определить права текущего пользователя
Определить роли текущего пользователя
Методические рекомендации по применению
Часто задаваемые вопросы
| Вопрос | Ответ |
|---|---|
| В чем заключаться главная необходимость использования Набора фильтров? | Главная необходимость заключается в задании таблицы к которой будет применяться фильтр. Таким образом мы можем наложить несколько фильтров на необходимую нам таблицу и выводить записи которые ищет пользователь. |
| Можно ли задавать несколько наборов фильтров на странице? | Да, при условии что они будут обращаться к разным таблицам. |