Total Complexity | 8 |
Total Lines | 57 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
7 | class ClassesFilter implements FilterInterface |
||
8 | { |
||
9 | /** |
||
10 | * Transforms a menu item. Add classes related attributes when suitable. |
||
11 | * |
||
12 | * @param array $item A menu item |
||
13 | * @return array The transformed menu item |
||
14 | */ |
||
15 | 44 | public function transform($item) |
|
16 | { |
||
17 | 44 | if (! MenuItemHelper::isHeader($item)) { |
|
18 | 43 | $item['class'] = implode(' ', $this->makeClasses($item)); |
|
19 | } |
||
20 | |||
21 | 44 | if (MenuItemHelper::isSubmenu($item)) { |
|
22 | 10 | $item['submenu_class'] = implode(' ', $this->makeSubmenuClasses($item)); |
|
23 | } |
||
24 | |||
25 | 44 | return $item; |
|
26 | } |
||
27 | |||
28 | /** |
||
29 | * Make classes related to the components of a menu item. |
||
30 | * |
||
31 | * @param array $item A menu item |
||
32 | * @return array The array of classes |
||
33 | */ |
||
34 | 43 | protected function makeClasses($item) |
|
45 | } |
||
46 | |||
47 | /** |
||
48 | * Make classes related to the components of a submenu item. |
||
49 | * |
||
50 | * @param array $item A menu item |
||
51 | * @return array The array of classes |
||
52 | */ |
||
53 | 10 | protected function makeSubmenuClasses($item) |
|
66 |