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();
}