Conditions | 4 |
Paths | 4 |
Total Lines | 40 |
Code Lines | 16 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php namespace Anomaly\Streams\Platform\Ui\ControlPanel\Component\Navigation; |
||
39 | public function sort(ControlPanelBuilder $builder) |
||
40 | { |
||
41 | if (!$navigation = $builder->getNavigation()) { |
||
42 | return; |
||
43 | } |
||
44 | |||
45 | ksort($navigation); |
||
46 | |||
47 | /** |
||
48 | * Make the namespaces the key now |
||
49 | * that we've applied default sorting. |
||
50 | */ |
||
51 | $navigation = array_combine( |
||
52 | array_map( |
||
53 | function ($item) { |
||
54 | return $item['slug']; |
||
55 | }, |
||
56 | $navigation |
||
57 | ), |
||
58 | array_values($navigation) |
||
59 | ); |
||
60 | |||
61 | /** |
||
62 | * Again by default push the dashboard |
||
63 | * module to the top of the navigation. |
||
64 | */ |
||
65 | foreach ($navigation as $key => $module) { |
||
66 | |||
67 | if ($key == 'anomaly.module.dashboard') { |
||
68 | |||
69 | $navigation = [$key => $module] + $navigation; |
||
70 | |||
71 | break; |
||
72 | } |
||
73 | } |
||
74 | |||
75 | $builder->setNavigation($navigation); |
||
76 | |||
77 | $this->events->fire(new SortNavigation($builder)); |
||
78 | } |
||
79 | } |
||
80 |