|
11 | 11 | use Carbon\Carbon; |
12 | 12 | use Filament\Forms; |
13 | 13 | use Filament\Forms\Components\Checkbox; |
| 14 | +use Filament\Forms\Components\DatePicker; |
14 | 15 | use Filament\Forms\Components\Grid; |
15 | 16 | use Filament\Forms\Components\Placeholder; |
16 | 17 | use Filament\Forms\Components\Section; |
|
27 | 28 | use Filament\Tables\Actions\ViewAction; |
28 | 29 | use Filament\Tables\Columns\IconColumn; |
29 | 30 | use Filament\Tables\Columns\TextColumn; |
| 31 | +use Filament\Tables\Filters\Filter; |
30 | 32 | use Filament\Tables\Filters\SelectFilter; |
31 | 33 | use Filament\Tables\Filters\TernaryFilter; |
32 | 34 | use Filament\Tables\Table; |
@@ -357,6 +359,22 @@ public static function table(Table $table): Table |
357 | 359 | ->alignment(Alignment::End), |
358 | 360 | ]) |
359 | 361 | ->filters([ |
| 362 | + Filter::make('created_at') |
| 363 | + ->form([ |
| 364 | + DatePicker::make('created_from'), |
| 365 | + DatePicker::make('created_until'), |
| 366 | + ]) |
| 367 | + ->query(function (Builder $query, array $data): Builder { |
| 368 | + return $query |
| 369 | + ->when( |
| 370 | + $data['created_from'], |
| 371 | + fn (Builder $query, $date): Builder => $query->whereDate('created_at', '>=', $date), |
| 372 | + ) |
| 373 | + ->when( |
| 374 | + $data['created_until'], |
| 375 | + fn (Builder $query, $date): Builder => $query->whereDate('created_at', '<=', $date), |
| 376 | + ); |
| 377 | + }), |
360 | 378 | SelectFilter::make('ip_address') |
361 | 379 | ->label('IP address') |
362 | 380 | ->multiple() |
|
0 commit comments