Ojs\AdminBundle\Menu\MenuBuilder::generateMenu PHP Method

generateMenu() private method

private generateMenu ( Knp\Menu\FactoryInterface $factory, array $items = [], null $event = null ) : Knp\Menu\ItemInterface
$factory Knp\Menu\FactoryInterface
$items array
$event null
return Knp\Menu\ItemInterface
    private function generateMenu(FactoryInterface $factory, $items = [], $event = null)
    {
        /**
         * @var Journal $journal
         * @var AuthorizationChecker $checker
         */
        $dispatcher = $this->container->get('event_dispatcher');
        $menu = $factory->createItem('root')->setChildrenAttribute('class', 'list-unstyled');
        foreach ($items as $item) {
            $label = $item[0];
            $path = $item[1];
            $icon = $item[2];
            $menu->addChild($label, ['route' => $path, 'extras' => ['icon' => $icon]]);
        }
        $menuEvent = new MenuEvent();
        $menuEvent->setMenuItem($menu);
        if (!is_null($event)) {
            $dispatcher->dispatch($event, $menuEvent);
        }
        return $menuEvent->getMenuItem();
    }