navigation.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. use SleepingOwl\Admin\Navigation\Page;
  3. // Default check access logic
  4. // AdminNavigation::setAccessLogic(function(Page $page) {
  5. // return auth()->user()->isSuperAdmin();
  6. // });
  7. //
  8. // AdminNavigation::addPage(\App\User::class)->setTitle('test')->setPages(function(Page $page) {
  9. // $page
  10. // ->addPage()
  11. // ->setTitle('Dashboard')
  12. // ->setUrl(route('admin.dashboard'))
  13. // ->setPriority(100);
  14. //
  15. // $page->addPage(\App\User::class);
  16. // });
  17. //
  18. // // or
  19. //
  20. // AdminSection::addMenuPage(\App\User::class)
  21. return [
  22. [
  23. 'title' => 'Dashboard',
  24. 'icon' => 'fa fa-dashboard',
  25. 'url' => route('admin.dashboard'),
  26. 'priority' => '10'
  27. ],
  28. [
  29. 'title' => 'Information',
  30. 'icon' => 'fa fa-exclamation-circle',
  31. 'url' => route('admin.information'),
  32. ],
  33. [
  34. 'title' => 'Telegram',
  35. 'icon' => 'fa fa-telegram',
  36. 'url' => route('admin.setting.index'),
  37. 'priority' => '40'
  38. ],
  39. (new Page(\App\User::class))
  40. ->setIcon('fa fa-user')
  41. ->setTitle('Users')
  42. ->setPriority(20),
  43. // Examples
  44. // [
  45. // 'title' => 'Content',
  46. // 'pages' => [
  47. //
  48. // \App\User::class,
  49. //
  50. // // or
  51. //
  52. // (new Page(\App\User::class))
  53. // ->setPriority(100)
  54. // ->setIcon('fa fa-user')
  55. // ->setUrl('users')
  56. // ->setAccessLogic(function (Page $page) {
  57. // return auth()->user()->isSuperAdmin();
  58. // }),
  59. //
  60. // // or
  61. //
  62. // new Page([
  63. // 'title' => 'News',
  64. // 'priority' => 200,
  65. // 'model' => \App\News::class
  66. // ]),
  67. //
  68. // // or
  69. // (new Page(/* ... */))->setPages(function (Page $page) {
  70. // $page->addPage([
  71. // 'title' => 'Blog',
  72. // 'priority' => 100,
  73. // 'model' => \App\Blog::class
  74. // ));
  75. //
  76. // $page->addPage(\App\Blog::class);
  77. // }),
  78. //
  79. // // or
  80. //
  81. // [
  82. // 'title' => 'News',
  83. // 'priority' => 300,
  84. // 'accessLogic' => function ($page) {
  85. // return $page->isActive();
  86. // },
  87. // 'pages' => [
  88. //
  89. // // ...
  90. //
  91. // ]
  92. // ]
  93. // ]
  94. // ]
  95. ];