Skip to content

Adds sorting functionality to the Laravel Nova's index resource

License

Notifications You must be signed in to change notification settings

Naxon/nova-field-sortable

Repository files navigation

Laravel Nova Sortable Field

Latest Version on Packagist Total Downloads

Description

This field adds reordering functionality to your resource's index using the awesome eloquent-sortable package by the great people of Spatie.

screenshot

Requrements

Installation

This package can be installed through Composer.

composer require naxon/nova-field-sortable

Usage

  1. Follow the usage instructions on the eloquent-sortable repository to make your model sortable.
  2. Use the Naxon\NovaFieldSortable\Concerns\SortsIndexEntries trait in your Nova Resource.
  3. Add a public static property called $defaultSortField to your resource, containing your sorting column (I recomment adding it in your main app/Nova/Resource.php file).
  4. Add the Naxon\NovaFieldSortable\Sortable field to your Nova Resource fields method, using a label and your primary key column.

Example

<?php

namespace App\Nova;

use Laravel\Nova\Fields\ID;
use Illuminate\Http\Request;
use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Fields\Text;
use Naxon\NovaFieldSortable\Concerns\SortsIndexEntries;
use Naxon\NovaFieldSortable\Sortable;

class Page extends Resource
{
    use SortsIndexEntries;
    
    public static $defaultSortField = 'sort_order';
    
    /**
     * Get the fields displayed by the resource.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            
            Text::make('Title'),
            
            Sortable::make('Order', 'id')
                ->onlyOnIndex(),
        ];
    }
}

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

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

About

Adds sorting functionality to the Laravel Nova's index resource

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •