Record Switcher
Resource title search dropdown navigation for Filament.
Author:
Ben Johnson
Documentation
Subtly convert the page title into a dropdown navigation that's displayed on click.
It works similar to Filament's global search but only shows results for the current resource.
#Installation
You can install the package via composer:
composer require howdu/filament-record-switcher
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-record-switcher-views"
#Usage
- Register plugin inside your PanelProvider(s).
E.g
app/Filament/Providers/AdminPanelProvider.php
use Howdu\FilamentRecordSwitcher\FilamentRecordSwitcherPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FilamentRecordSwitcherPlugin::make(),
);
}
}
- Add the
HasRecordSwitchertrait to each of your edit record Page. E.gapp/Filament/Resources/Category/Pages/EditCategory.php
use Howdu\FilamentRecordSwitcher\Filament\Concerns\HasRecordSwitcher;
class EditCategory extends EditRecord
{
use HasRecordSwitcher;
}
Note: this trail will overwrite the getHeading() method if you've overwritten it in your Page you need to
overwrite getRecordTitle() instead.
If you want to add custom logic to the afterSave() method, you can do so by using the recordSwitcherAfterSave() method from the trait.
use HasRecordSwitcher {
afterSave as recordSwitcherAfterSave;
}
protected function afterSave(): void
{
/// Custom logic
$this->recordSwitcherAfterSave();
}
- Check your Resource class e.g CategoryResource has the record title attribute set which's used as the label in the select dropdown.
protected static ?string $recordTitleAttribute = 'title';
- Finally publish plugin assets.
php artisan filament:assets
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
A full-stack developer from the United Kingdom. Full time developer since 2012 started out as a frontend developer and moved more into the backend now. Painfully remembers the says of supporting IE6 and needing to float everything.
I take pride in building quality code that’s super efficient and easy to maintain.
I’m always looking to learn new things and improve my skills.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle