Фильтр справочник
Данный тип фильтра позволяет отрисовать фильтр, куда можно вписать значение из справочника.
Параметр | Тип данных | Обязательный | По-умолчанию |
---|---|---|---|
Справочник (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">