Filament is an awesome rapidly growing adminpanel platform that includes table builder, form builder, and more features. But also there are many plugins that add even more functionality. Let's explore some of the best ones, in this article.
I've picked 12 plugins to showcase, each with screenshots and with the demo repository, you will find all the links below.
For those unfamiliar with Filament, I have a full 2-hour course on how to get started.
1. Filament Breezy
The missing toolkit from Filament Admin with Breeze-like functionality. Includes login, registration, password reset, password confirmation, email verification, and profile page. All using the TALL-stack, all very Filament-y.
Using this package is very easy. First, install via composer
1composer require jeffgreco13/filament-breezy
Next, change the default Filament login to use Breezy in config/filament.php
1"auth" => [2 "guard" => env("FILAMENT_AUTH_GUARD", "web"),3 "pages" => [4 "login" =>5 \JeffGreco13\FilamentBreezy\Http\Livewire\Auth\Login::class, 6 ],7],
And that's it, you now have Breeze-like functionality in your Filament Admin. If you want to enable more features like Two Factor Authentication read official documentation.
You can find the demo repository here.
2. Filament Advanced Filter
A collection of easy-to-use filters with clause conditions to Filament.
To use this package we only need to install it and then we will be able to add filters to the table builder.
1composer require webbingbrasil/filament-advancedfilter
For this example we will use a simple ProductResource
which will have four fields:
- Name (string)
- Is visible (boolean)
- Price (Decimal)
- Published at (date)
Now we can add filters from this package to the ProductResource
table builder.
app/Filament/Resources/ProductResource.php:
1public static function table(Table $table): Table 2{ 3 return $table 4 ->columns([ 5 TextColumn::make('name') 6 ->searchable() 7 ->sortable(), 8 IconColumn::make('is_visible') 9 ->boolean(),10 TextColumn::make('price'),11 TextColumn::make('published_at')12 ->label('Published Date')13 ->date(),14 ])15 ->filters([ 16 TextFilter::make('name'), 17 BooleanFilter::make('is_visible'), 18 DateFilter::make('published_at'), 19 NumberFilter::make('price') 20 ]); 21}
For more information on what every filter condition means read official documentation.
You can find the demo repository here.
3. Filament Excel
Excel Export for Filament Admin Resources.
To use this package...