| @@ 38-55 (lines=18) @@ | ||
| 35 | // menu item |
|
| 36 | $resolver |
|
| 37 | ->setDefault('items', []) |
|
| 38 | ->setNormalizer('items', function(Options $options, $items) { |
|
| 39 | ||
| 40 | if (!is_array($items)) { |
|
| 41 | $items = []; |
|
| 42 | } |
|
| 43 | $resolver = new OptionsResolver(); |
|
| 44 | $resolvedItems = []; |
|
| 45 | ||
| 46 | foreach ($items as $name => $item) { |
|
| 47 | $itemConfiguration = new MenuItemConfiguration(); |
|
| 48 | $itemConfiguration->configureOptions($resolver); |
|
| 49 | $itemConfiguration->setParameters($resolver->resolve($item)); |
|
| 50 | ||
| 51 | $resolvedItems[$name] = $itemConfiguration; |
|
| 52 | } |
|
| 53 | ||
| 54 | return $resolvedItems; |
|
| 55 | }) |
|
| 56 | ; |
|
| 57 | } |
|
| 58 | } |
|
| @@ 89-106 (lines=18) @@ | ||
| 86 | // menu sub item |
|
| 87 | $resolver |
|
| 88 | ->setDefault('items', []) |
|
| 89 | ->setNormalizer('items', function(Options $options, $items) { |
|
| 90 | ||
| 91 | if (!is_array($items)) { |
|
| 92 | $items = []; |
|
| 93 | } |
|
| 94 | $resolver = new OptionsResolver(); |
|
| 95 | $resolvedItems = []; |
|
| 96 | ||
| 97 | foreach ($items as $name => $item) { |
|
| 98 | $itemConfiguration = new MenuItemConfiguration(); |
|
| 99 | $itemConfiguration->configureOptions($resolver); |
|
| 100 | $itemConfiguration->setParameters($resolver->resolve($item)); |
|
| 101 | ||
| 102 | $resolvedItems[$name] = $itemConfiguration; |
|
| 103 | } |
|
| 104 | ||
| 105 | return $resolvedItems; |
|
| 106 | }); |
|
| 107 | ||
| 108 | $resolver->setDefault('icon', null); |
|
| 109 | } |
|