public function editItem(MenuHandler $handler, ModuleHandler $modules, SiteHandler $sites, $menuId, $itemId)
{
$item = $handler->getItem($itemId, ['basicImage', 'hoverImage', 'selectedImage', 'mBasicImage', 'mHoverImage', 'mSelectedImage']);
$menu = $item->menu;
if ($menu->getKey() !== $menuId) {
throw new InvalidArgumentHttpException(400);
}
try {
$menuType = $modules->getModuleObject($item->type);
} catch (NotFoundModuleException $e) {
$menuType = null;
}
$homeId = $sites->getHomeInstanceId();
$itemConfig = $handler->getMenuItemTheme($item);
$desktopTheme = $itemConfig->getPure('desktopTheme');
$mobileTheme = $itemConfig->getPure('mobileTheme');
$parentThemeMode = false;
if ($desktopTheme === null && $mobileTheme === null) {
$parentThemeMode = true;
}
$parentConfig = $itemConfig->getParent();
return XePresenter::make('menu.editItem', ['menu' => $menu, 'item' => $item, 'homeId' => $homeId, 'menuType' => $menuType, 'parentThemeMode' => $parentThemeMode, 'itemConfig' => $itemConfig, 'parentConfig' => $parentConfig]);
}