howdu/filament-record-switcher

Resource level navigation with search
19,499 17
Install
composer require howdu/filament-record-switcher
Latest Version:v2.0.3
PHP:^8.2
License:MIT
Last Updated:Aug 29, 2026
Links: GitHub  ·  Packagist
Maintainer: howdu

Resource title navigation dropdown with search for Filament

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Screenshot

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.

Compatibility
Plugin Version Filament Version PHP Version
1.x 3.x > 8.1
2.x 4.x + 5.x > 8.2

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

  1. 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(),
            );
    }
}
  1. Add the HasRecordSwitcher trait to each of your edit record Page. E.g app/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();
}
  1. 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';
  1. 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.

Related Packages

croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

443,640 284
tallcms/cms

TallCMS - A modern CMS for Filament admin panels. Works standalone or as a plugi...

2,079 5
saade/filament-laravel-log

A log viewer for Filament: read and clear Laravel log files from your panel

335,982 120
saade/filament-fullcalendar

The Most Popular JavaScript Calendar integrated with Filament 💛

1,186,113 420
jeffersongoncalves/filament-refresh-sidebar

Automatically refresh the Filament sidebar navigation when certain events occur,...

4,108 11

Version History

Version Released PHP License
v2.0.3 ^8.2 MIT
v2.0.2 ^8.2 MIT
v2.0.1 ^8.2 MIT
v2.0.0 ^8.2 MIT
v1.1.1 ^8.1 MIT