Add Menu Tree functionality and integrate Filament Tree plugin: Introduced a new MenuTree page for managing page structures, added PagesMenuWidget for displaying a tree layout of pages, and updated localization files for menu-related actions. Enhanced Page model with tree management capabilities and included necessary CSS and JS files for the Filament Tree plugin.
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Filament\Admin\Resources\Pages;
|
||||
use App\Filament\Admin\Resources\Pages\Pages\CreatePage;
|
||||
use App\Filament\Admin\Resources\Pages\Pages\EditPage;
|
||||
use App\Filament\Admin\Resources\Pages\Pages\ListPages;
|
||||
use App\Filament\Admin\Resources\Pages\Pages\MenuTree;
|
||||
use App\Filament\Admin\Resources\Pages\Schemas\PageForm;
|
||||
use App\Filament\Admin\Resources\Pages\Tables\PagesTable;
|
||||
use App\Models\Page;
|
||||
@@ -60,6 +61,7 @@ class PageResource extends Resource
|
||||
'index' => ListPages::route('/'),
|
||||
'create' => CreatePage::route('/create'),
|
||||
'edit' => EditPage::route('/{record}/edit'),
|
||||
'menu' => MenuTree::route('/menu'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Admin\Resources\Pages\Pages;
|
||||
|
||||
use App\Filament\Admin\Resources\Pages\PageResource;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
@@ -18,6 +19,11 @@ class ListPages extends ListRecords
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('menu')
|
||||
->label(__('pages.menu_tree_title'))
|
||||
->icon('heroicon-o-bars-3')
|
||||
->url(PageResource::getUrl('menu'))
|
||||
->color('gray'),
|
||||
CreateAction::make()
|
||||
->label(__('pages.create')),
|
||||
];
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Admin\Resources\Pages\Pages;
|
||||
|
||||
use App\Filament\Admin\Resources\Pages\PageResource;
|
||||
use App\Filament\Admin\Widgets\PagesMenuWidget;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Resources\Pages\Page;
|
||||
|
||||
class MenuTree extends Page
|
||||
{
|
||||
protected static string $resource = PageResource::class;
|
||||
|
||||
protected string $view = 'filament.admin.pages.menu-tree';
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return __('pages.menu_tree_title');
|
||||
}
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('refresh')
|
||||
->label(__('pages.menu_refresh'))
|
||||
->icon('heroicon-o-arrow-path')
|
||||
->color('gray')
|
||||
->action(function () {
|
||||
$this->dispatch('$refresh');
|
||||
}),
|
||||
Action::make('back_to_pages')
|
||||
->label(__('pages.menu_back_to_pages'))
|
||||
->icon('heroicon-o-arrow-left')
|
||||
->url(PageResource::getUrl('index'))
|
||||
->color('gray'),
|
||||
];
|
||||
}
|
||||
|
||||
protected function getHeaderWidgets(): array
|
||||
{
|
||||
return [
|
||||
PagesMenuWidget::class,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user