dkulyk/nova-tabs

另一个 Laravel Nova 选项卡包

安装数: 105,889

依赖者: 0

建议者: 0

安全: 0

星标: 58

关注者: 3

分支: 7

开放问题: 4

语言:Vue

1.1.9 2021-03-18 10:26 UTC

This package is auto-updated.

Last update: 2024-09-11 22:58:35 UTC


README

Latest Version on Github Total Downloads Become a Patron!

  1. 安装
  2. 用法
    1. 选项卡面板
    2. 带工具栏的选项卡面板
    3. 关系选项卡
    4. 在选项卡中组合字段和关系
  3. 自定义

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用程序中

composer require dkulyk/nova-tabs

用法

选项卡面板

image

您可以将资源的字段分组到选项卡中。

// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields()
{
    return [
        
        // ...
        
        new Tabs('Tabs', [
            new Panel('Balance', [
                Number::make('Balance', 'balance')->onlyOnDetail(),
                Number::make('Total', 'total')->onlyOnDetail(),
            ]),
            'Other Info' => [
                Number::make('Paid To Date', 'paid_to_date')->onlyOnDetail(),
            ],
        ]),
        
        // ...
        
    ];
}

带工具栏的选项卡面板

如果您只使用选项卡而没有另一个默认面板,您可以在面板中像调用 withToolbar 方法一样调用它。

image

// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [
        (new Tabs('Contact Details', [
            'Address' => [
                ID::make('Id', 'id')->rules('required'),
                Text::make('Email', 'email')->sortable(),
                Text::make('Phone', 'phone')->sortable(),
            ],

            'Relations' => [
                BelongsTo::make('User'),
                MorphTo::make('Contactable')->types([
                    Client::class,
                    Invoice::class,
                ]),
            ]
        ]))->withToolbar(),
    ];
}

关系选项卡

image

您还可以将关系分组到选项卡中。

// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [

        // ...

        new Tabs('Relations', [
            HasMany::make('Invoices'),
            HasMany::make('Notes'),
            HasMany::make('Contacts')
        ]),

        // ...

    ];
}

在选项卡中组合字段和关系

image

image

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [
        (new Tabs(__('Client Custom Details'), [
            new Panel(__('Details'), [
                    ID::make('Id', 'id')->rules('required')->hideFromIndex(),
                    Text::make('Name', 'name'),
            ]),
            HasMany::make('Invoices')
        ])
    ];
}

自定义

默认情况下,选项卡组件将搜索输入和创建按钮移动到选项卡中。如果您有很多选项卡,可以将它们移动回自己的行

// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [

        // ...

        (new Tabs('Relations', [
            HasMany::make('Invoices')
        ]))->defaultSearch(true),

        // ...

    ];
}

如果您想隐藏卡片标签,可以使用 ->hideLabel() 为选项卡面板。

设置 ->defaultSearch(true) 以恢复其默认值。

image