howdu / filament-record-switcher
Resource level navigation with search
Fund package maintenance!
howdu
Installs: 5 565
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- filament/filament: ^3.0
- filament/forms: ^3.0
- filament/tables: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2025-05-03 08:38:09 UTC
README
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
HasRecordSwitcher
trait 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.