Filters
Filters are declared as filter objects and mapped to methods on your listing component.
protected function filters(): array
{
return [
new TextFieldType('email', 'Email', 'filterEmail'),
];
}
protected function filterEmail(Builder $query): void
{
if (! empty($this->activeFilters['email'])) {
$query->where('email', 'like', '%'.$this->activeFilters['email'].'%');
}
}
Incoming filter keys are whitelisted against declared filters before they are applied to the query.
Built-in Filter Types
TextFieldTypeOptionsListType
Custom Filters
Custom filters must implement FilterTypeInterface: