Completed
Push — development ( 0937b7...1a7c5e )
by Thomas
21s
created

MenuSubscriber::onConfigureMenu()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 1
dl 0
loc 14
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace OcDev\KitchenSink\Subscriber;
4
5
use Oc\Menu\Event\MenuEvent;
6
use Oc\Menu\MenuEnum;
7
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
8
9
/**
10
 * Class MenuSubscriber
11
 *
12
 * @package OcDev\KitchenSink\Subscriber
13
 */
14
class MenuSubscriber implements EventSubscriberInterface
15
{
16
    /**
17
     * Returns an array of event names this subscriber wants to listen to.
18
     *
19
     * @return array The event names to listen to
20
     */
21
    public static function getSubscribedEvents()
22
    {
23
        return [
24
            MenuEnum::MENU_MAIN => 'onConfigureMenu',
25
            MenuEnum::MENU_MAIN . '.kitchensink' => 'onConfigureKitchensinkMenu'
26
        ];
27
    }
28
29
    /**
30
     * @param MenuEvent $event
31
     */
32
    public function onConfigureKitchensinkMenu(MenuEvent $event)
33
    {
34
        $event->getCurrentItem()->addChild('Test1');
35
        $event->getCurrentItem()->addChild('Test2');
36
    }
37
38
    /**
39
     * @param MenuEvent $event
40
     */
41
    public function onConfigureMenu(MenuEvent $event)
42
    {
43
        $kitchensink = $event->getCurrentItem()->addChild(
44
            'kitchensink',
45
            [
46
                'label' => 'Kitchensink',
47
                'route' => 'kitchensink.index'
48
            ]
49
        );
50
51
        $subEvent = $event->createSubEvent($kitchensink);
52
53
        $event->getEventDispatcher()->dispatch(MenuEnum::MENU_MAIN . '.kitchensink', $subEvent);
54
    }
55
}
56