| Total Complexity | 2 |
| Total Lines | 29 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 11 | class TestEventMenu extends Menu |
||
| 12 | { |
||
| 13 | |||
| 14 | private EventDispatcherInterface $eventDispatcher; |
||
| 15 | |||
| 16 | public function __construct(EventDispatcherInterface $eventDispatcher) |
||
| 17 | { |
||
| 18 | parent::__construct(); |
||
| 19 | |||
| 20 | $this->eventDispatcher = $eventDispatcher; |
||
| 21 | } |
||
| 22 | |||
| 23 | public function define(): Traversable |
||
| 24 | { |
||
| 25 | |||
| 26 | $items = function () { |
||
| 27 | yield MenuItem::system('System', 'test', [], 'images/svg/system.svg') |
||
| 28 | ->setRouteParameter('name', 'test_menu') |
||
| 29 | ->setChildren(function () { |
||
| 30 | yield MenuItem::section('Section', 'test_one', [], 'images/svg/thunder.svg')->setChildren(function () { |
||
| 31 | yield MenuItem::linkToRoute('Site', 'test_two', [], '@Menu/svg/default_folder.svg'); |
||
| 32 | yield MenuItem::linkToRoute('Dashboard', 'test_three'); |
||
| 33 | }); |
||
| 34 | }); |
||
| 35 | }; |
||
| 36 | |||
| 37 | $testMenuEvent = new MenuEvent($items()); |
||
| 38 | $this->eventDispatcher->dispatch($testMenuEvent, 'test.even_test'); |
||
| 39 | yield from $testMenuEvent->items; |
||
| 40 | } |
||
| 41 | } |