pixelcreation/nova-field-sortable

用于对资源进行排序的 Nova 字段。

3.2.0 2022-05-17 11:55 UTC

This package is auto-updated.

Last update: 2024-09-17 17:07:31 UTC


README

Latest Version on Packagist Total Downloads

描述

此字段使用来自 Spatie 的人的出色 eloquent-sortable 包,为您的资源索引添加重新排序功能。

此包是 Teatrante/nova-field-sortable 的分支,后者又是原始包 Naxon/nova-field-sortable 的分支。它包括对布局的改进

screenshot

要求

安装

此包可以通过 Composer 安装。

composer require pixelcreation/nova-field-sortable

从 v3.x 升级到 v4.x

  • 您需要提供 Sortable 字段中的排序列名,而不是主键列。

用法

  1. 请按照 eloquent-sortable 存储库中的 用法说明 操作,使您的模型可排序。
  2. 在您的 Nova 资源中,使用 PixelCreation\NovaFieldSortable\Concerns\SortsIndexEntries 特性。
  3. 在您的资源中添加一个名为 $defaultSortField 的公共静态属性,其中包含您的排序列(我建议在主 app/Nova/Resource.php 文件中添加它)。
  4. PixelCreation\NovaFieldSortable\Sortable 字段添加到您的 Nova 资源 fields 方法中,使用标签和您的排序列。

示例

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

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件