SleepingOwlAdmin

Фильтры столбцов

Фильтры столбцов используются для фильтрации списка.

В случае с AdminDisplay::datatables() поиск производится через API библиотеки datatables.

Пример использования:

$display = AdminDisplay::datatables();

$display->setColumnFilters([
  null, // Не ищем по первому столбцу

  // Поиск текста
  AdminColumnFilter::text()->setPlaceholder('Full Name'),

  // Поиск по диапазону 
  AdminColumnFilter::range()->setFrom(
      AdminColumnFilter::text()->setPlaceholder('From')
  )->setTo(
      AdminColumnFilter::text()->setPlaceholder('To')
  ),

  // Поиск по диапазону дат
  AdminColumnFilter::range()->setFrom(
      AdminColumnFilter::date()->setPlaceholder('From Date')->setFormat('d.m.Y')
  )->setTo(
      AdminColumnFilter::date()->setPlaceholder('To Date')->setFormat('d.m.Y')
  ),

  // Поиск по выпадающему списку значений
  AdminColumnFilter::select(new Country, 'Title')->setDisplay('title')->setPlaceholder('Select Country')->setColumnName('country_id')
]);

При указании столбцов необходимо, чтобы кол-во столбцов поиска соответствовало кол-ву столбцов в таблице (если поиск по определенному столбцу не нужен, то необходимо передать null) и была соблюдена последовательность

API

В классах фильтров столбцов используется трейт:

Методы доступные во всех фильтрах

setOperator

Указание оператора, который будет использован при фильтрации. По умолчанию equal

  static::setOperator(string $operator): return self

Список доступных операторов сравнения:

Text

Фильтрация данных по строке

AdminColumnFilter::text()->setPlaceholder('Full Name')->setOperator(\SleepingOwl\Admin\Contracts\FilterInterface::CONTAINS)

setPlaceholder

Указание плейсхолдера для поля.

  static::setPlaceholder(string $placeholder): return self

Date

Фильтрация данных по дате

AdminColumnFilter::date()->setPlaceholder('Date')->setFormat('d.m.Y')

setFormat

Указание формата даты в которой приходит дата из инпута

  static::setFormat(string $format): return self

setPickerFormat

Указание формата даты отображаемой в инпуте и понятной для Javascript

  static::setPickerFormat(string $pickerFormat): return self

setSearchFormat

Указание формата даты в котором данные хранятся в БД

  static::setSearchFormat(string $searchFormat): return self

setWidth

Ширина инпута

  static::setWidth(int $width): return self

Select

Фильтрация данных по данным из выпадающего списка

Range

Фильтрация данных по диазону.

setFrom

Указание поля начала диапазона

  static::setFrom(ColumnFilterInterface $from): return self

setTo

Указание поля конца диапазона

  static::setTo(ColumnFilterInterface $from): return self