filterShape
Описание
Необязательный. Объект настроек для управления функциональностью фильтра
Использование
filterShape: {
text?: boolean | [{
id: string,
label?: string,
suggest?: boolean
}],
date?: boolean,
time?: boolean | [{
from: number | string,
to: number | string,
label?: string
}],
autoApply?: boolean
};
Параметры
text- (необязательный) еслиtrue, текстовое поле ввода отображается (по умолчанию); еслиfalse, текстовое поле скрытоid- (обязательный) название поля карточки для фильтрации (свойство объектаdata, напримерcategoryилиtitle)suggest- (необязательный) еслиtrue, включается автодополнение и отображаются значения (из объектаdata), совпадающие с введённым польз ователем текстомlabel- (необязательный) метка для свойства из объектаdata. См. Конфигурация по умолчанию ниже.
date- (необязательный) показывает/скрывает поле даты; по умолчанию установленоtrue(поле отображается)time- (необязательный) показывает/скрывает поле времени. Если установлено значениеtrue, принимает массив объектов с параметрами времени по умолчанию для слота. Для каждого объекта можно указать следующие параметры:from- (обязательный) время начала слота; может быть числом от 0 до 24, задающим время в часах (например, 9 означает 9:00, 8.5 означает 8:30), или строкой в формате "h:m" (например, "8:30")to- (обязательный) время окончания слота; может быть числом от 0 до 24, задающим время в часах (например, 9 означает 9:00, 8.5 означает 8:30), или строкой в формате "h:m" (например, "8:30")label- (необязательный) плейсхолдер для поля времени Если параметрыtimeне заданы, применяются значения по умолчанию: см. Конфигурация по умолч анию ниже.
autoApply- (необязательный) еслиtrue, критерии поиска применяются автоматически (нет необходимости запускать поиск нажатием кнопки); по умолчанию установленоfalse
Конфигурация по умолчанию
const defaultTimeRanges = [
{ from: 8, to: 12, label: "Morning" },
{ from: 12, to: 17, label: "Afternoon" },
{ from: 17, to: 20, label: "Evening" }
];
const defaultFilterShape = {
text: [
{ id: "category", label: "speciality", suggest: true },
{ id: "title", label: "specialist", suggest: true },
{ id: "details", label: "location" }
],
date: true,
time: defaultTimeRanges,
autoApply: false
};
Пример
const filterShape = {
date: false,
autoApply: true,
time: [
{ from: 8, to: 11, label: "Morning" },
{ from: 12, to: 18, label: "Afternoon" },
{ from: 18, to: 21, label: "Evening" }
]
};
new booking.Booking("#root", {
data,
filterShape,
// другие параметры
});
Фрагмент ниже демонстрирует, как настроить фильтр: