一个随机的 Codica Studio 包。

1.0.0 2020-09-25 01:54 UTC

This package is not auto-updated.

Last update: 2024-09-21 21:27:33 UTC


README

将您大量的表格和关系组织成结构化页面。

Resource Navigation Tab in Action

安装

您可以通过 composer 安装此包

composer require digital-creative/resource-navigation-tab

基本用法

首先,将 HasResourceNavigationTabTrait 特性导入到您的资源中,并开始使用 ResourceNavigationTab 对象来分组您的字段

use DigitalCreative\ResourceNavigationTab\HasResourceNavigationTabTrait;
use DigitalCreative\ResourceNavigationTab\ResourceNavigationTab;

class ExampleNovaResource extends Resource {
 
    use HasResourceNavigationTabTrait; // Important!!

    public function fields(Request $request)
    {
        return [
            ResourceNavigationTab::make([
                'label' => 'Information',
                'behaveAsPanel' => true / false,
                'fields' => [
                    Text::make('Name'),
                    Text::make('Age'),
                    HasMany::make('Hobbies')
                ]
            ]),
            ResourceNavigationTab::make([ 'label' => 'Activities' ]),
            ResourceNavigationTab::make([ 'label' => 'Social Interactions' ]),
            ResourceNavigationTab::make([ 'label' => 'Settings' ]),
        ];
    }

}

一旦设置完成,导航到您的资源详情视图,您应该会看到这个卡片

Resource Navigation Tab in Action

默认情况下,主资源表(带有编辑/删除按钮的表)的标题将与您的标签相同,但是您可以调用 ->resourceTableTitle('另一个标题') 来自定义它

public function fields(Request $request)
{
    return [
        ResourceNavigationTab::make([
            'label' => 'Tab Title', 
            'resourceTableTitle' => 'Resource Table Title'
            'fields' => [...]
        ]),
    ];
}

默认情况下,每个定义的卡片都会在每个标签上显示,但是您可以选择在特定标签被选中时显示哪个卡片

use DigitalCreative\ResourceNavigationTab\HasResourceNavigationTabTrait;
use DigitalCreative\ResourceNavigationTab\ResourceNavigationTab;
use DigitalCreative\ResourceNavigationTab\CardMode;

class ExampleNovaResource extends Resource {
 
    public function fields(Request $request)
    {
        return [
            ResourceNavigationTab::make([ 'label' => 'Profile' ]), // show all the available cards by default
            ResourceNavigationTab::make([ 
                'label' => 'Activities',
                'cardMode' => CardMode::KEEP_ALL | CardMode::EXCLUDE_ALL // show all or remove all cards when this tab is active
            ]),
            ResourceNavigationTab::make([ 
                'label' => 'Preferences',
                'cardMode' => CardMode::ONLY | CardMode::EXCEPT // show or remove only the selected cards
                'cards' => [
                   ClientPerformanceCard::class,
                   ClientProfileCard::class,
                ]
            ]), 
        ];
    }

    public function cards(Request $request)
    {
        return [
            new ClientPerformanceCard(),
            new DailySalesCard(),
            new ClientProfileCard()
        ];
    }

}

许可证

MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。