Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Record Switcher Laravel Package

howdu/filament-record-switcher

View on GitHub
Deep Wiki
Context7

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log