| 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 |