LaravelPackages.net
Acme Inc.
Toggle sidebar
pixelcreation/nova-field-sortable

A Nova field for ordering resources.

57.533
3
3.2.0
About pixelcreation/nova-field-sortable

pixelcreation/nova-field-sortable is a Laravel package for a nova field for ordering resources.. It currently has 3 GitHub stars and 57.533 downloads on Packagist (latest version 3.2.0). Install it with composer require pixelcreation/nova-field-sortable. Discover more Laravel packages by pixelcreation or browse all Laravel packages to compare alternatives.

Last updated

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.

This package is a fork of Teatrante/nova-field-sortable, which is a fork of the original package Naxon/nova-field-sortable. It includes improvements to the layout

screenshot

Requirements

Installation

This package can be installed through Composer.

composer require pixelcreation/nova-field-sortable

Upgrading from v3.x to v4.x

  • Instead of the primary key column, you'll need to supply the name of the sort column in the Sortable field.

Usage

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

Example

<?php

namespace App\Nova;

use Laravel\Nova\Fields\ID;
use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Fields\Text;
use PixelCreation\NovaFieldSortable\Concerns\SortsIndexEntries;
use PixelCreation\NovaFieldSortable\Sortable;

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

Credits

License

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

Comments