Loop je weleens tegen het probleem aan dat je RecordSubnavigation
te veel items heeft waardoor je een overvloed aan tabs krijgt? 🤔
Dan heb ik hier de oplossing voor je 🧠😄
In een Resource is het mogelijk om dit op te stellen:
public static function getRecordSubNavigation(Page $page): array
{
return $page->generateNavigationItems([
Pages\ViewRide::class,
Pages\EditRide::class,
Pages\Relations\ManageDriver::class,
Pages\Relations\ManageProject::class,
Pages\Relations\ManageVehicle::class,
]);
}
Dit simpele voorbeeld laat zien dat je een view, edit, manage drivers, manage projects en manage vechicles hebt. Alleen die wil je natuurlijk niet allemaal naast elkaar hebben in je subnavigation. Het schreeuwt zo iets te hard op een pagina. 📣
Daarom heb ik dit gevonden:
public static function getRecordSubNavigation(Page $page): array
{
return [
...$page->generateNavigationItems([
Pages\ViewProject::class,
Pages\EditProject::class,
]),
NavigationGroup::make()
->label(__('Relations'))
->icon(static::getSubNavigationPosition() === SubNavigationPosition::Top ? 'heroicon-o-link' : null)
->collapsible(false)
->items([
...$page->generateNavigationItems([
Pages\ManageInvoices::class,
Pages\ManageNotes::class,
Pages\ManageQuotations::class,
Pages\ManageTimers::class,
Pages\ManageStockRequests::class,
Pages\ManageTasks::class,
Pages\ManageRides::class,
]),
])
];
}
Met deze structuur houd je je subnavigation overzichtelijk en ga je voor een optimale user experience 😉