Фильтр справочник

Данный тип фильтра позволяет отрисовать фильтр, куда можно вписать значение из справочника.

Параметр Тип данных Обязательный По-умолчанию
Справочник (dictionary) integer +
Имя параметра фильтра (param_name) string +
Заголовок фильтра (title) string +
Поле для поиска (field) string +
Зависимость от другого поля (depends) string null

Параметры

Справочник (dictionary)

Обязательный параметр, тип данных: integer.

Идентификатор справочника, откуда будут браться данные.

Имя параметра фильтра (param_name)

Обязательные параметр, тип данных: string

Имя query параметра. Также под этим именем данный фильтр будет доступен в переменной searchForm.

Например:

param_name
Пример запроса
Доступ к объекту фильтра
foo ?foo=bar {{ searchForm.foo }}
somevalue ?somevalue=123 {{ searchForm.somevalue }}

Заголовок фильтра (title)

Обязательные параметр, тип данных: string

Заголовок фильтра

Поле для поиска (field)

Обязательные аргумент, тип данных: string

Поле, по которому необходимо осуществлять поиск. Если поиск осуществляется по атрибуту типа товара "Справчоник", то поле может должно иметь вид field-%n_p_i, где %n – идентификатор атрибута типа товара.

Зависимость от другого поля (depends)

Необязательные параметр, тип данных: string

Если данный параметр является дочерним для другого поля (например, как фильтр по моделе автомобиля зависит от фильтра по марке автомобиля), то в данном параметре можно прописать имя (param_name) для главного поля.

Загрузка данных

Так как справочники предполагают большое количество значений, загружать которые на страницу при запросе каждый раз накладно, данный фильтр заточен под загрузку данных через ajax. К примеру, для данного фильтра хорошо подходят такие библиотеки, как select2 и typeahead

Данный фильтр в HTML представлен как: 

<input type="text" id="<имя параметра>" name="<имя параметра>" class="dictionary-input" data-feed-url="/_api/v1/dictionary/17/values">

У данного инпута автоматически подставляется class="dictionary-input" и есть атрибут data-feed-url, который указывает, на какой URL необходимо сделать запрос, чтобы получить данные справочника.

Если у данного справочника указан параметр depends, то значение будет передано в атрибуте data-depends, например:

<input type="text" id="<имя параметра>" name="<имя параметра>" class="dictionary-input" data-feed-url="/_api/v1/dictionary/17/values" data-depends="mark">