public function createPlacementNavigation($rootNode, $admin, $controller, $menuItemManager)
{
$lastEdited = $this->get('session')->get('MenuItem.last_edited');
$nodeDecorator = function ($node) use($admin, $controller, $menuItemManager, $lastEdited) {
if ($lastEdited == $node['id']) {
return;
}
$node = $menuItemManager->find($node['id']);
return $controller->renderView('NetworkingInitCmsBundle:MenuItemAdmin:placement_item.html.twig', array('admin' => $admin, 'last_edited' => $lastEdited, 'node' => $node));
};
$childOpen = function ($node) use($lastEdited) {
if ($lastEdited == $node['id']) {
return;
}
return sprintf('<li class="table-row-style list_item" id="listItem_%s">', $node['id']);
};
$childClose = function ($node) use($lastEdited, $admin, $controller) {
if ($lastEdited == $node['id']) {
return;
}
return $controller->renderView('NetworkingInitCmsBundle:MenuItemAdmin:placement_item_end.html.twig', array('admin' => $admin, 'last_edited' => $lastEdited, 'node' => $node));
};
$rootOpen = function ($tree) {
$node = $tree[0];
if ($node['lvl'] == 1) {
$class = 'ui-sortable';
} else {
$class = 'table-row-style';
}
return sprintf('<ul class="%s">', $class);
};
$navigation = $menuItemManager->childrenHierarchy($rootNode, null, array('rootOpen' => $rootOpen, 'decorate' => true, 'childOpen' => $childOpen, 'childClose' => $childClose, 'nodeDecorator' => $nodeDecorator), false);
return $navigation;
}