diff --git a/resources/views/admin/menu-item/create.blade.php b/resources/views/admin/menu-item/create.blade.php index f06d980..768f37d 100644 --- a/resources/views/admin/menu-item/create.blade.php +++ b/resources/views/admin/menu-item/create.blade.php @@ -204,6 +204,7 @@ valueProp: "name", nameProp: "name" }); + Spandiv.Select2("select[name=parent]"); // Change Bootstrap Icons $(document).on("change", "select[name=icon]", function() { diff --git a/resources/views/admin/menu-item/edit.blade.php b/resources/views/admin/menu-item/edit.blade.php index dd424e4..f937e23 100644 --- a/resources/views/admin/menu-item/edit.blade.php +++ b/resources/views/admin/menu-item/edit.blade.php @@ -218,6 +218,7 @@ valueProp: "name", nameProp: "name" }); + Spandiv.Select2("select[name=parent]"); // Change Bootstrap Icons $(document).on("change", "select[name=icon]", function() { diff --git a/resources/views/admin/menu/index.blade.php b/resources/views/admin/menu/index.blade.php index c432678..0dbc188 100644 --- a/resources/views/admin/menu/index.blade.php +++ b/resources/views/admin/menu/index.blade.php @@ -82,15 +82,36 @@ @if(count($submenu_items_level_2) > 0)
@foreach($submenu_items_level_2 as $submenu_item_level_2) -
-
- - {{ $submenu_item_level_2->name }} + @php + $submenu_items_level_3 = $menu_header->items()->where('parent','=',$submenu_item_level_2->id)->orderBy('num_order','asc')->get(); + @endphp +
+ -
- - + @if(count($submenu_items_level_3) > 0) +
+ @foreach($submenu_items_level_3 as $submenu_item_level_3) + + @endforeach
+ @endif
@endforeach
diff --git a/resources/views/layouts/admin/_sidebar.blade.php b/resources/views/layouts/admin/_sidebar.blade.php index 317d480..030080a 100644 --- a/resources/views/layouts/admin/_sidebar.blade.php +++ b/resources/views/layouts/admin/_sidebar.blade.php @@ -28,12 +28,29 @@ {{ $subitem['name'] }} diff --git a/src/Helpers/Helper.php b/src/Helpers/Helper.php index e7b3d52..46f6a9f 100644 --- a/src/Helpers/Helper.php +++ b/src/Helpers/Helper.php @@ -197,13 +197,30 @@ function menu() { $subitems_level_2 = []; if(count($menusubitems_level_2) > 0) { foreach($menusubitems_level_2 as $menusubitem_level_2) { + // Get menu subitems level 3 + $menusubitems_level_3 = $menuheader->items()->where('parent','=',$menusubitem_level_2->id)->orderBy('num_order','asc')->get(); + $subitems_level_3 = []; + if(count($menusubitems_level_3) > 0) { + foreach($menusubitems_level_3 as $menusubitem_level_3) { + // Push to array + array_push($subitems_level_3, [ + 'name' => $menusubitem_level_3->name, + 'route' => $menusubitem_level_3->route != '' ? $menusubitem_level_3->routeparams != '' ? route($menusubitem_level_3->route, json_decode($menusubitem_level_3->routeparams, true)) : route($menusubitem_level_3->route) : '', + 'icon' => $menusubitem_level_3->icon, + 'visible_conditions' => $menusubitem_level_3->visible_conditions, + 'active_conditions' => $menusubitem_level_3->active_conditions + ]); + } + } + // Push to array array_push($subitems_level_2, [ 'name' => $menusubitem_level_2->name, 'route' => $menusubitem_level_2->route != '' ? $menusubitem_level_2->routeparams != '' ? route($menusubitem_level_2->route, json_decode($menusubitem_level_2->routeparams, true)) : route($menusubitem_level_2->route) : '', 'icon' => $menusubitem_level_2->icon, 'visible_conditions' => $menusubitem_level_2->visible_conditions, - 'active_conditions' => $menusubitem_level_2->active_conditions + 'active_conditions' => $menusubitem_level_2->active_conditions, + 'children' => $subitems_level_3 ]); } }