webbingbrasil / filament-datefilter
Date filter component for filament tables.
Installs: 58 236
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 3
Forks: 10
Open Issues: 3
Requires
- php: ^8.0
- filament/tables: ^2.15
README
A easy-to-use date filter with range option for Laravel Filament.
Installation
Install the package via composer (requires filament >= 2.15)
composer require webbingbrasil/filament-datefilter
Usage
Date filters allow you to quickly create a filter that allows the user to select a date.
use Webbingbrasil\FilamentDateFilter\DateFilter; DateFilter::make('created_at') ->label(__('Created At')) ->minDate(Carbon::today()->subMonth(1)) ->maxDate(Carbon::today()->addMonth(1)) ->timeZone('America/New_York')
Another common use case is to filter by a date range. You can do this with range()
method:
use Webbingbrasil\FilamentDateFilter\DateFilter; DateFilter::make('created_at') ->label(__('Created At')) ->minDate(Carbon::today()->subMonth(1)) ->maxDate(Carbon::today()->addMonth(1)) ->timeZone('America/New_York') ->range() ->fromLabel(__('From')) ->untilLabel(__('Until'))
If you need to use a different column name than the one you pass to the make()
method, you can use the useColumn()
method:
use Webbingbrasil\FilamentDateFilter\DateFilter; DateFilter::make('created_at') ->useColumn('updated_at')
Global Configuration
You can set From/Until label globally using configureUsing()
method in a service provider:
use Webbingbrasil\FilamentDateFilter\DateFilter; DateFilter::configureUsing(fn ($filter) => $filter->fromLabel(__('From'))->untilLabel(__('Until')));