josespinal/filament-record-navigation

Record navigation from views

v2.0.4 2024-06-05 22:01 UTC

This package is auto-updated.

Last update: 2024-11-07 16:42:07 UTC


README

Introduction

The Filament Record Navigation Plugin allows seamless navigation through records in a Filament resource's view. With this plugin, you can add "Next" and "Previous" buttons to navigate through records efficiently.

Record.Nav.mp4

Installation

Step 1: Require the package via Composer:

composer require josespinal/filament-record-navigation

The package will automatically register itself.

Usage

Use the Trait in Your Filament Resource Page

In your Filament resource's EditRecord page, use the HasRecordNavigation trait to add the navigation functionality. And add the action where you want, for example, the header with getHeaderActions:

namespace App\Filament\Resources\PostResource\Pages;

use App\Filament\Resources\PostResource;
use Filament\Resources\Pages\EditRecord;
use JoseEspinal\RecordNavigation\Traits\HasRecordNavigation;

class EditPost extends EditRecord
{
    use HasRecordNavigation;

    protected static string $resource = PostResource::class;

    protected function getHeaderActions(): array
    {
        return array_merge(parent::getActions(), $this->getNavigationActions());
    }
}

Use with existing actions

If you have existing actions, merge them with the navigation actions, like so:

protected function getHeaderActions(): array
{
    $existingActions = [
        // Your existing actions here...
    ];

    return array_merge($existingActions, $this->getNavigationActions());
}

Store Record IDs in Session

In your resource's ListRecords page, include the HasRecordsList trait as follows:

namespace App\Filament\Resources\PostResource\Pages;

use App\Filament\Resources\PostResource;
use Filament\Resources\Pages\ListRecords;
use JoseEspinal\RecordNavigation\Traits\HasRecordsList;

class ListPosts extends ListRecords
{
    use HasRecordsList;

    protected static string $resource = PostResource::class;
}

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.