| @@ 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 | } |
|
| @@ 94-111 (lines=18) @@ | ||
| 91 | // menu sub item |
|
| 92 | $resolver |
|
| 93 | ->setDefault('items', []) |
|
| 94 | ->setNormalizer('items', function(Options $options, $items) { |
|
| 95 | ||
| 96 | if (!is_array($items)) { |
|
| 97 | $items = []; |
|
| 98 | } |
|
| 99 | $resolver = new OptionsResolver(); |
|
| 100 | $resolvedItems = []; |
|
| 101 | ||
| 102 | foreach ($items as $name => $item) { |
|
| 103 | $itemConfiguration = new MenuItemConfiguration(); |
|
| 104 | $itemConfiguration->configureOptions($resolver); |
|
| 105 | $itemConfiguration->setParameters($resolver->resolve($item)); |
|
| 106 | ||
| 107 | $resolvedItems[$name] = $itemConfiguration; |
|
| 108 | } |
|
| 109 | ||
| 110 | return $resolvedItems; |
|
| 111 | }) |
|
| 112 | ; |
|
| 113 | ||
| 114 | $resolver->setDefault('icon', null); |
|