Weave Code
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.
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager