workup / resource-navigation-tab
将你的长篇表格和关系组织成结构化的页面。
v1.1.1.002
2022-01-14 14:53 UTC
Requires
- php: ^8.0
- workup/nova: ^3.0
README
将你的长篇表格和关系组织成结构化的页面。
安装
您可以通过composer安装此包
composer require workup/resource-navigation-tab
基本用法
首先,将HasResourceNavigationTabTrait特性导入到您的资源中,并使用ResourceNavigationTab对象开始对字段进行分组
use Workup\ResourceNavigationTab\HasResourceNavigationTabTrait; use Workup\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' ]), ]; } }
一旦设置好,导航到您的资源详情视图,应该会显示这张卡片
默认情况下,主资源表(带有编辑/删除按钮的表)的标题将与您的选项卡相同,但您可以通过调用->resourceTableTitle('另一个标题')来自定义它
public function fields(Request $request) { return [ ResourceNavigationTab::make([ 'label' => 'Tab Title', 'resourceTableTitle' => 'Resource Table Title' 'fields' => [...] ]), ]; }
默认情况下,每个定义的卡片都会显示在每个选项卡上,但您可以选择在特定选项卡被选中时显示哪个卡片
use Workup\ResourceNavigationTab\HasResourceNavigationTabTrait; use Workup\ResourceNavigationTab\ResourceNavigationTab; use Workup\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)。有关更多信息,请参阅许可证文件。

