parent
7c205c7ceb
commit
cceae62812
|
|
@ -47,7 +47,7 @@ class NavigationManager
|
|||
'url' => null,
|
||||
'counter' => null,
|
||||
'counterLabel'=> null,
|
||||
'order' => 100,
|
||||
'order' => -1,
|
||||
'attributes' => [],
|
||||
'permissions' => []
|
||||
];
|
||||
|
|
@ -100,7 +100,9 @@ class NavigationManager
|
|||
/*
|
||||
* Sort menu items
|
||||
*/
|
||||
usort($this->items, 'self::sortMenu');
|
||||
usort($this->items, function ($a, $b) {
|
||||
return $a->order - $b->order;
|
||||
});
|
||||
|
||||
/*
|
||||
* Filter items user lacks permission for
|
||||
|
|
@ -113,28 +115,29 @@ class NavigationManager
|
|||
continue;
|
||||
}
|
||||
|
||||
usort($item->sideMenu, 'self::sortMenu');
|
||||
/*
|
||||
* Apply incremental default orders
|
||||
*/
|
||||
$orderCount = 0;
|
||||
foreach ($item->sideMenu as $sideMenuItem) {
|
||||
if ($sideMenuItem->order !== -1) continue;
|
||||
$sideMenuItem->order = ($orderCount += 100);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sort side menu items
|
||||
*/
|
||||
usort($item->sideMenu, function ($a, $b) {
|
||||
return $a->order - $b->order;
|
||||
});
|
||||
|
||||
/*
|
||||
* Filter items user lacks permission for
|
||||
*/
|
||||
$item->sideMenu = $this->filterItemPermissions($user, $item->sideMenu);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback method used by usort() to compare menu items.
|
||||
* Should be referenced with 'self::sortMenu' as the second parameter to usort().
|
||||
* @param object $a First menu item to compare
|
||||
* @param object $b Second menu item to compare
|
||||
* @return integer Returns 1, 0 or -1 depending on order
|
||||
*/
|
||||
protected static function sortMenu($a, $b)
|
||||
{
|
||||
if ($a->order < $b->order) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return (int) $a->order > $b->order;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a callback function that defines menu items.
|
||||
* The callback function should register menu items by calling the manager's
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.page.menu_label',
|
||||
'icon' => 'icon-copy',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 100,
|
||||
'attributes' => ['data-menu-item' => 'pages'],
|
||||
'permissions' => ['cms.manage_pages'],
|
||||
'counterLabel' => 'cms::lang.page.unsaved_label'
|
||||
|
|
@ -49,7 +48,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.partial.menu_label',
|
||||
'icon' => 'icon-tags',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 200,
|
||||
'attributes' => ['data-menu-item' => 'partials'],
|
||||
'permissions' => ['cms.manage_partials'],
|
||||
'counterLabel' => 'cms::lang.partial.unsaved_label'
|
||||
|
|
@ -58,7 +56,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.layout.menu_label',
|
||||
'icon' => 'icon-th-large',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 300,
|
||||
'attributes' => ['data-menu-item' => 'layouts'],
|
||||
'permissions' => ['cms.manage_layouts'],
|
||||
'counterLabel' => 'cms::lang.layout.unsaved_label'
|
||||
|
|
@ -67,7 +64,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.content.menu_label',
|
||||
'icon' => 'icon-file-text-o',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 400,
|
||||
'attributes' => ['data-menu-item' => 'content'],
|
||||
'permissions' => ['cms.manage_content'],
|
||||
'counterLabel' => 'cms::lang.content.unsaved_label'
|
||||
|
|
@ -76,7 +72,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.asset.menu_label',
|
||||
'icon' => 'icon-picture-o',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 500,
|
||||
'attributes' => ['data-menu-item' => 'assets'],
|
||||
'permissions' => ['cms.manage_assets'],
|
||||
'counterLabel' => 'cms::lang.asset.unsaved_label'
|
||||
|
|
@ -85,7 +80,6 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'label' => 'cms::lang.component.menu_label',
|
||||
'icon' => 'icon-puzzle-piece',
|
||||
'url' => 'javascript:;',
|
||||
'order' => 600,
|
||||
'attributes' => ['data-menu-item' => 'components'],
|
||||
'permissions' => ['cms.manage_pages', 'cms.manage_layouts', 'cms.manage_partials']
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue