by Danilo Andrade
A collection of easy-to-use filters with clause conditions.
Install the package via composer (requires filament >= 2.10.40)
composer require webbingbrasil/filament-advancedfilter
Optionally you can publish the translation files
php artisan vendor:publish --tag="filament-advancedfilter-translations"
Filter records by boolean column:
use Webbingbrasil\FilamentAdvancedFilter\Filters\BooleanFilter; BooleanFilter::make('is_active')
In some cases you can have a nullable
column, the BooleanFilter can handle nulls in different ways:
by default nulls
are treated as unknown and hidden
BooleanFilter::make('is_active'')->nullsAreUnknown();BooleanFilter::make('is_active'')->nullsAreTrue();BooleanFilter::make('is_active'')->nullsAreFalse();BooleanFilter::make('is_active'')->showUnknowns();BooleanFilter::make('is_active'')->hideUnknowns();
Filter records by date/timestamp column:
use Webbingbrasil\FilamentAdvancedFilter\Filters\DateFilter; DateFilter::make('published_at')
This filter allows users to search records in the following conditions:
Is equal/not equal to user's input
Is on or after/before user's input
Is more/less than user's input
the user has the option to choose a time interval (day, week, month, year) in the future/past, for example:
Is between user's input
Is set/not set
Filter records by numeric column:
use Webbingbrasil\FilamentAdvancedFilter\Filters\NumberFilter; NumberFilter::make('quantity')
This filter allows users to search records in the following conditions:
Filter records by text column:
use Webbingbrasil\FilamentAdvancedFilter\Filters\NumberFilter; TextFilter::make('name')
This filter allows users to search records in the following conditions: