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