From 385043bab8120928547f5e1569572207520cf835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20M=C3=BCller?= <2566282+brotkrueml@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:46:44 +0200 Subject: [PATCH] refactor: modernise backend controller related: #10 --- Classes/Controller/ListController.php | 28 ++++--------------- Resources/Private/Templates/Backend/List.html | 8 ++++-- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/Classes/Controller/ListController.php b/Classes/Controller/ListController.php index cc9a4f3..fd7ec52 100644 --- a/Classes/Controller/ListController.php +++ b/Classes/Controller/ListController.php @@ -22,13 +22,10 @@ use TYPO3\CMS\Backend\Template\ModuleTemplate; use TYPO3\CMS\Backend\Template\ModuleTemplateFactory; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; -use TYPO3\CMS\Core\Http\HtmlResponse; use TYPO3\CMS\Core\Imaging\Icon; use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Page\PageRenderer; -use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Fluid\View\StandaloneView; /** * @internal @@ -36,9 +33,6 @@ #[AsController] final class ListController { - private ModuleTemplate $moduleTemplate; - private StandaloneView $view; - public function __construct( private readonly IconFactory $iconFactory, private readonly ModuleTemplateFactory $moduleTemplateFactory, @@ -50,41 +44,31 @@ public function __construct( public function handleRequest(ServerRequestInterface $request): ResponseInterface { - $this->moduleTemplate = $this->moduleTemplateFactory->create($request); + $view = $this->moduleTemplateFactory->create($request); $this->pageRenderer->addCssFile('EXT:' . Extension::KEY . '/Resources/Public/Css/styles.css'); $this->pageRenderer->loadJavaScriptModule( '@jobrouter/process/process-table-fields-toggler.js', ); - $this->initializeView(); - $processDemands = $this->processDemandFactory->createMultiple( $this->processRepository->findAll(true), true, ); - $this->view->assign('processDemands', $processDemands); - $this->configureDocHeader( + $view, $request->getAttribute('normalizedParams')?->getRequestUri() ?? '', ); - $this->moduleTemplate->setContent($this->view->render()); + $view->assign('processDemands', $processDemands); - return new HtmlResponse($this->moduleTemplate->renderContent()); - } - - private function initializeView(): void - { - $this->view = GeneralUtility::makeInstance(StandaloneView::class); - $this->view->setTemplate('List'); - $this->view->setTemplateRootPaths(['EXT:' . Extension::KEY . '/Resources/Private/Templates/Backend']); + return $view->renderResponse('Backend/List'); } - private function configureDocHeader(string $requestUri): void + private function configureDocHeader(ModuleTemplate $view, string $requestUri): void { - $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar(); + $buttonBar = $view->getDocHeaderComponent()->getButtonBar(); $newProcessButton = $buttonBar->makeLinkButton() ->setHref((string) $this->uriBuilder->buildUriFromRoute( diff --git a/Resources/Private/Templates/Backend/List.html b/Resources/Private/Templates/Backend/List.html index a00856c..ce7a8d0 100644 --- a/Resources/Private/Templates/Backend/List.html +++ b/Resources/Private/Templates/Backend/List.html @@ -5,9 +5,13 @@ data-namespace-typo3-fluid="true" > -

+ - + +

+ + +