Блок "Панель фильтрации"
Блок доступен начиная с версии 0.40
Назначение блока
Блок формирует визуализатор для отображения отметок по выбранным справочникам. Пользователь может управлять отметками, при этом все зависимые визуализаторы автоматически обновляются с актуальными данными.
Для того чтобы начать работать с блоком, его необходимо выбрать в библиотеке блоков и переместить в область графа.
Настройки блока
Работа с настройками блока осуществляется через локальное меню блока (пункт Настройки):
Модальное окно "Настройки" выглядит следующим образом:
Общие настройки блоков описаны в отдельном разделе.
Раздел "Панель фильтрации"
| Название параметра | Тип параметра | Обязательный | Описание | Пример |
|---|---|---|---|---|
| Параметры привязки | JSON | Да | Параметры привязки справочников. Подробнее см. Описание настройки "Параметры привязки" | |
| Отображать кнопку "Применить" | Флаг | Нет | - С включенным флагом отображается кнопка "Применить". Событие смены выделения отправляется после нажатия данной кнопки. - С выключенным флагом не отображается кнопка "Применить". Событие смены выделения отправляется сразу после изменения отметки |
Описание настройки "Параметры привязки"
- input_key - идентификатор входа справочника;
- input_name - наименование справочника в визуализаторе. Если поле не задано, по умолчанию используется "Справочник N", где N - порядковый номер справочника в описании;
- key - идентификатор поля в справочнике, который необходимо использовать как ключ. Если не задано, берется поле по умолчанию - id;
- name - идентификатор поля в справочнике, который необходимо использовать как наименование. Если не задано, берется поле по умолчанию - name;
- default - ключи элементов, которые необходимо отмечать по умолчанию. Если поле не задано, отмечается первый элемент при отмеченной единичной отметке или все элементы при включенной мультиотметке;
- multiselect - целое число (1 или 0). Включение множественной отметки у справочника (возможность отобразить от нуля до всех элементов). Если не задано, множественная отметка выключена;
- combobox - целое число (1 или 0). Отображение справочника в виде выпадающего списка. По умолчанию выпадающий список выключен;
- hierarchy - целое число (1 или 0). Отображение данных в виде иерархии. Без включенного флага будут отображаться только данные на первом уровне. При включении иерархии автоматически включается выпадающий список. Отдельно флаг прописывать не требуется. По умолчанию - отключено;
-
filter - массив словарей. Отображение элементов данного справочника зависит от другого. Допустимые поля:
- from - идентификатор справочника, от которого зависит данный справочник;
- foreignAttr - идентификатор поля в справочнике, от которого зависит текущий справочник. По этому полю будут фильтроваться элементы;
- localAttr - идентификатор поля в текущем справочнике, по которому будет осуществляться поиск соответсвия с параметром foreignAttr.
-
addFields - массив строк. Состоит из идентификаторов полей в справочнике, по которым осуществляется фильтрация (все значения параметра localAttr);
Обязательное поле при использовании параметра filter (кроме случая использования временных рядов).
-
date_range - целое число (1 или 0). Использование справочника для выбора диапазона дат;
-
date_range_type - тип диапазона дат. Возможные значения:
- 1 - год;
- 2 - полугодие;
- 3 - квартал;
- 4 - месяц;
- 5 - день.
-
date_range_start - дата начала диапазона в справочнике;
- date_range_finish - дата конца диапазона в справочнике.
Пример привязок
[
{
"input_key": "period",
"input_name": "Период",
"key": "id",
"name": "name",
"default": 1,
"multiselect": 1
},
{
"input_key": "year",
"key": "id",
"name": "name",
"default": 1,
"combobox": 1
},
{
"input_key": "hier",
"input_name": "Иерархия",
"default": [3],
"multiselect": 1,
"hierarchy": 1
},
{
"input_key": "reg",
"input_name": "Регионы",
"key": "id",
"name": "name",
"multiselect": 1,
"filter": [
{
"from": "year",
"foreignAttr": "id",
"localAttr": "region_years"
}
],
"addFields": [
"region_years"
]
},
{
"input_key": "range",
"input_name": "Диапазон дат",
"multiselect": 0,
"date_range": 1,
"date_range_type": 5,
"date_range_start": "17.05.2019",
"date_range_finish": "01.01.2025",
"default": ["01.01.2020", "01.04.2022"]
}
]
Входы блока
Каждый новый справочник добавляется в отдельный вход.
Параметры "Обязательный" и "Массив" должны быть включены. Параметр "Идентификатор" необходимо указать в поле input_key в параметрах привязки.
Подключение пользовательских входов описано в отдельном разделе.
Выходы блока
В блоке нет выходов.
События смены отметки
| Наименование событийного выхода | Тип | Описание |
|---|---|---|
| Объекты | Объекты | Используется для динамического обновления визуализаторов при изменении отметки в фильтре |
Описание работы блока
- Блок создает визуализатор в соответствии с настройками. В него попадают все элементы справочников, поступающие на вход блока. При открытии на пресете может применяться фильтрация - в таком случае отображается только часть элементов. Визуализатор также содержит информацию об элементах, которые должны быть отмечены по умолчанию.
- Блок генерирует событие при изменении отметки:
- При расчете графа - в событие передаются объекты, соответствующие отметке по умолчанию (значение "default" в параметрах привязок блока в графе).
- При вызове события на пресете - в событие передаются объекты, соответствующие текущей пользовательской отметке. Диапазоны дат передаются через параметры "selected_range_start" и "selected_range_finish".
Описание работы визуализатора
-
Справочники могут отображаться в двух режимах:
- Список - стандартное отображение всех элементов;
- Выпадающий список ("combobox") - компактный режим. В этом режиме справочники могут иметь иерархическую структуру ("hierarchy");
-
Отметка по умолчанию ("default") - устанавливается при открытии пресета;
- Множественный выбор ("multiselect") - в справочнике можно отметить один или несколько элементов;
- Зависимая фильтрация ("filter") - список элементов одного справочника зависит от отметки в другом.
- Для отправки события смены выделения необходимо отметить нужные элементы и нажать кнопку "Применить" (Если параметр "Отображать кнопку "Применить" выключен, событие отправляется сразу после изменения отметки).
- При клике правой кнопкой мыши открывается контекстное меню со следующими опциями:
- Выбрать все
- Снять отметку
- Инвертировать отметку
Если справочник отображается в виде выпадающего списка, контекстное меню содержит следующие пункты:
- Отметить все - отмечает все элементы справочника;
- Снять отметку - снимает отметку со всех элементов справочника;
- Отметить подчиненные (для случая иерархического справочника) - отмечает все подчиненные элементы;
- Снять отметку с подчиненных (для случая иерархического справочника) - снимает отметку со всех подчиненных элементов;
- Отметить уровень (для случая иерархического справочника) - отмечает элементы на одном уровне иерархии;
- Снять отметку с уровня (для случая иерархического справочника) - снимает отметку с элементов на одном уровне иерархии;
- Отметить подчиненные по уровню (для случая иерархического справочника) - отмечает элементы на уровне иерархии на 1 ниже;
- Снять отметку с подчиненных по уровню (для случая иерархического справочника) - снимает отметку с элементов на уровне иерархии на 1 ниже.
- Справочники могут поддерживать отметку диапазона дат (значение "date_range" в параметрах привязок блока в графе). Границы, внутри которых можно отметить диапазон, задаются в параметрах привязок блока в графе ("date_range_start","date_range_finish"). Динамика, которая будет использоваться, задается в параметрах привязок блока в графе ("date_range_type"):
Первый клик задаёт начальную дату диапазона, второй — конечную. При клике на одну дату дважды выбирается диапазон из одной даты. Новый клик сбрасывает предыдущий выбор.
В заголовке при одной дате показывается только она.
- При изменении гранулярности, например "месяцы" -> "дни", выбранный период сохраняется. Например, "Январь 2022"-"Февраль 2022" -> "1 января 2022"-"28 февраля 2022". При выборе периода на границах диапазона (date_range_start и date_range_finish, указанные в привязках) изменение гранулярности будет учитывать эти границы.
Настройки визуализатора
Общий список доступен на странице Настройки визуализаторов
Визуализатор позволяет задать дополнительные настройки, например, настройки внешнего вида визуализатора. Для этого необходимо вызвать контекстное меню визуализатора и выбрать пункт Настройки внешнего вида:
Модальное окно выглядит следующим образом:
Раздел "Разделы"
| Название параметра | Тип параметра | Обязательный | Описание | Пример |
|---|---|---|---|---|
| Размер шрифта заголовка секции | Целое число | Да | Задает размер шрифта заголовка секции | 13 |
| Цвет текста заголовка секции | Цвет | Нет | Задает цвет текста для заголовка секции | |
| Цвет фона заголовка раздела | Цвет | Нет | Задает цвет заголовка раздела | |
| Начертание | Выпадающий список | Да | Задает начертание заголовка | Полужирный |
Раздел "Кнопки"
| Название параметра | Тип параметра | Обязательный | Описание | Пример |
|---|---|---|---|---|
| Размер шрифта текста кнопок | Целое число | Да | Задает размер шрифта текста кнопок | |
| Цвет текста кнопок | Цвет | Нет | Задает цвет текста для кнопок | rgb(255, 255, 255) |
| Цвет фона кнопок | Цвет | Нет | Задает цвет фона кнопок | rgba(214, 33, 33, 0.87) |
| Цвет текста активной кнопки | Цвет | Нет | Цвет текста активной кнопки | #fff |
| Цвет фона активной кнопки | Цвет | Нет | Цвет фона активной кнопки | rgb(85, 84, 113) |
| Скругление углов кнопок | Целое число | Да | Размер скругления углов | 0 |
Версия блока
Документация на версию блока
Актуально для версии блока 8
Примеры
Постановки
VISMIND-4272 Блок "Панель фильтрации"
VISMIND-5345 Панель фильтрации. Фильтрация с помощью combobox
VISMIND-6148 Блок "Панель фильтрации". Вход "Привязки"
VISMIND-6675 Блок "Панель фильтрации". Событие по умолчанию
VISMIND-6889 Панель фильтрации. Поддержка зависимых справочников
VISMIND-6974 Граф. Режим отладки. Отображение визуализатора для "Панели фильтрации"
VISMIND-7142 Блок "Панель фильтрации". Диапазон дат
VISMIND-7163 Визуализатор "Панель фильтрации". Групповая отметка элементов
VISMIND-12033: Блоки. Тип вход/выхода по умолчанию









