Naxon / nova-field-sortable by Naxon

A Laravel Nova field.
265,411
60
1
Package Data
Maintainer Username: Naxon
Package Create Date: 2018-09-09
Package Last Update: 2022-02-17
Language: PHP
License: MIT
Last Refreshed: 2024-11-22 15:05:26
Package Statistics
Total Downloads: 265,411
Monthly Downloads: 460
Daily Downloads: 21
Total Stars: 60
Total Watchers: 1
Total Forks: 23
Total Open Issues: 5

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'),
        ];
    }
}

Security

If you discover any security related issues, please email naxond@gmail.com instead of using the issue tracker.

Credits

License

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