webbingbrasil/filament-datefilter

Date filter component for filament tables.

1.1.1 2022-10-24 21:46 UTC

This package is auto-updated.

Last update: 2024-04-23 15:07:05 UTC


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')));

Credits