vendor/easycorp/easyadmin-bundle/src/Context/AdminContext.php line 28
<?phpnamespace EasyCorp\Bundle\EasyAdminBundle\Context;use EasyCorp\Bundle\EasyAdminBundle\Config\Option\EA;use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\DashboardControllerInterface;use EasyCorp\Bundle\EasyAdminBundle\Dto\AssetsDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\CrudDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\DashboardDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\I18nDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\LocaleDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\MainMenuDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;use EasyCorp\Bundle\EasyAdminBundle\Dto\UserMenuDto;use EasyCorp\Bundle\EasyAdminBundle\Factory\MenuFactory;use EasyCorp\Bundle\EasyAdminBundle\Registry\CrudControllerRegistry;use EasyCorp\Bundle\EasyAdminBundle\Registry\TemplateRegistry;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Security\Core\User\UserInterface;/*** A context object that stores all the state and config of the current admin request.** @author Javier Eguiluz <javier.eguiluz@gmail.com>*/final class AdminContext{private Request $request;private ?UserInterface $user;private I18nDto $i18nDto;private CrudControllerRegistry $crudControllers;private ?EntityDto $entityDto;private DashboardDto $dashboardDto;private DashboardControllerInterface $dashboardControllerInstance;private AssetsDto $assetDto;private ?CrudDto $crudDto;private ?SearchDto $searchDto;private MenuFactory $menuFactory;private TemplateRegistry $templateRegistry;private ?MainMenuDto $mainMenuDto = null;private ?UserMenuDto $userMenuDto = null;public function __construct(Request $request, ?UserInterface $user, I18nDto $i18nDto, CrudControllerRegistry $crudControllers, DashboardDto $dashboardDto, DashboardControllerInterface $dashboardController, AssetsDto $assetDto, ?CrudDto $crudDto, ?EntityDto $entityDto, ?SearchDto $searchDto, MenuFactory $menuFactory, TemplateRegistry $templateRegistry){$this->request = $request;$this->user = $user;$this->i18nDto = $i18nDto;$this->crudControllers = $crudControllers;$this->dashboardDto = $dashboardDto;$this->dashboardControllerInstance = $dashboardController;$this->crudDto = $crudDto;$this->assetDto = $assetDto;$this->entityDto = $entityDto;$this->searchDto = $searchDto;$this->menuFactory = $menuFactory;$this->templateRegistry = $templateRegistry;}public function getRequest(): Request{return $this->request;}public function getReferrer(): ?string{return $this->request->query->get(EA::REFERRER);}public function getI18n(): I18nDto{return $this->i18nDto;}public function getCrudControllers(): CrudControllerRegistry{return $this->crudControllers;}public function getEntity(): EntityDto{return $this->entityDto;}public function getUser(): ?UserInterface{return $this->user;}public function getAssets(): AssetsDto{return $this->assetDto;}public function getSignedUrls(): bool{return $this->dashboardDto->getSignedUrls();}public function getAbsoluteUrls(): bool{return $this->dashboardDto->getAbsoluteUrls();}public function getDashboardTitle(): string{return $this->dashboardDto->getTitle();}public function getDashboardFaviconPath(): string{return $this->dashboardDto->getFaviconPath();}public function getDashboardControllerFqcn(): string{return \get_class($this->dashboardControllerInstance);}public function getDashboardRouteName(): string{return $this->dashboardDto->getRouteName();}public function getDashboardContentWidth(): string{return $this->dashboardDto->getContentWidth();}public function getDashboardSidebarWidth(): string{return $this->dashboardDto->getSidebarWidth();}public function getDashboardHasDarkModeEnabled(): bool{return $this->dashboardDto->isDarkModeEnabled();}/*** @return LocaleDto[]*/public function getDashboardLocales(): array{return $this->dashboardDto->getLocales();}public function getMainMenu(): MainMenuDto{if (null !== $this->mainMenuDto) {return $this->mainMenuDto;}$configuredMenuItems = $this->dashboardControllerInstance->configureMenuItems();$mainMenuItems = \is_array($configuredMenuItems) ? $configuredMenuItems : iterator_to_array($configuredMenuItems, false);return $this->mainMenuDto = $this->menuFactory->createMainMenu($mainMenuItems);}public function getUserMenu(): UserMenuDto{if (null !== $this->userMenuDto) {return $this->userMenuDto;}if (null === $this->user) {return UserMenu::new()->getAsDto();}$userMenu = $this->dashboardControllerInstance->configureUserMenu($this->user);return $this->userMenuDto = $this->menuFactory->createUserMenu($userMenu);}public function getCrud(): ?CrudDto{return $this->crudDto;}public function getSearch(): ?SearchDto{return $this->searchDto;}public function getTemplatePath(string $templateName): string{return $this->templateRegistry->get($templateName);}}