diff --git a/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/RemoveAdditionalSettings/Controller/RemoveAdditionalSettingsController.php b/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/RemoveAdditionalSettings/Controller/RemoveAdditionalSettingsController.php index badea48a01..db3ddac910 100644 --- a/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/RemoveAdditionalSettings/Controller/RemoveAdditionalSettingsController.php +++ b/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/RemoveAdditionalSettings/Controller/RemoveAdditionalSettingsController.php @@ -14,12 +14,13 @@ namespace Neos\TestNodeTypes\Application\RemoveAdditionalSettings\Controller; +use GuzzleHttp\Psr7\Response; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\ActionRequest; -use Neos\Flow\Mvc\ActionResponse; use Neos\Flow\Mvc\Controller\ControllerInterface; use Neos\TestNodeTypes\Application\RemoveAdditionalSettings\RemoveAdditionalSettingsCommand; use Neos\TestNodeTypes\Application\RemoveAdditionalSettings\RemoveAdditionalSettingsCommandHandler; +use Psr\Http\Message\ResponseInterface; #[Flow\Scope("singleton")] final class RemoveAdditionalSettingsController implements ControllerInterface @@ -27,46 +28,33 @@ final class RemoveAdditionalSettingsController implements ControllerInterface #[Flow\Inject] protected RemoveAdditionalSettingsCommandHandler $commandHandler; - public function processRequest(ActionRequest $request, ActionResponse $response) + public function processRequest(ActionRequest $request): ResponseInterface { - $request->setDispatched(true); - $response->setContentType('application/json'); - try { $command = RemoveAdditionalSettingsCommand::fromArray($request->getArguments()); $this->commandHandler->handle($command); - - $response->setStatusCode(200); - $response->setContent( - json_encode( - ['success' => true], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 200, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['success' => true], + JSON_THROW_ON_ERROR + )); } catch (\InvalidArgumentException $e) { - $response->setStatusCode(400); - $response->setContent( - json_encode( - ['error' => [ - 'type' => $e::class, - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ]], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 400, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['error' => [ + 'type' => $e::class, + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + ]], + JSON_THROW_ON_ERROR + )); } catch (\Exception $e) { - $response->setStatusCode(500); - $response->setContent( - json_encode( - ['error' => [ - 'type' => $e::class, - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ]], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 500, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['error' => [ + 'type' => $e::class, + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + ]], + JSON_THROW_ON_ERROR + )); } } } diff --git a/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/WriteAdditionalSettings/Controller/WriteAdditionalSettingsController.php b/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/WriteAdditionalSettings/Controller/WriteAdditionalSettingsController.php index cfbed1e39a..e2944f2ce0 100644 --- a/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/WriteAdditionalSettings/Controller/WriteAdditionalSettingsController.php +++ b/Tests/IntegrationTests/TestDistribution/DistributionPackages/Neos.TestNodeTypes/Classes/Application/WriteAdditionalSettings/Controller/WriteAdditionalSettingsController.php @@ -14,12 +14,13 @@ namespace Neos\TestNodeTypes\Application\WriteAdditionalSettings\Controller; +use GuzzleHttp\Psr7\Response; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\ActionRequest; -use Neos\Flow\Mvc\ActionResponse; use Neos\Flow\Mvc\Controller\ControllerInterface; use Neos\TestNodeTypes\Application\WriteAdditionalSettings\WriteAdditionalSettingsCommand; use Neos\TestNodeTypes\Application\WriteAdditionalSettings\WriteAdditionalSettingsCommandHandler; +use Psr\Http\Message\ResponseInterface; #[Flow\Scope("singleton")] final class WriteAdditionalSettingsController implements ControllerInterface @@ -27,46 +28,33 @@ final class WriteAdditionalSettingsController implements ControllerInterface #[Flow\Inject] protected WriteAdditionalSettingsCommandHandler $commandHandler; - public function processRequest(ActionRequest $request, ActionResponse $response) + public function processRequest(ActionRequest $request): ResponseInterface { - $request->setDispatched(true); - $response->setContentType('application/json'); - try { $command = WriteAdditionalSettingsCommand::fromArray($request->getArguments()); $this->commandHandler->handle($command); - - $response->setStatusCode(200); - $response->setContent( - json_encode( - ['success' => true], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 200, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['success' => true], + JSON_THROW_ON_ERROR + )); } catch (\InvalidArgumentException $e) { - $response->setStatusCode(400); - $response->setContent( - json_encode( - ['error' => [ - 'type' => $e::class, - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ]], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 400, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['error' => [ + 'type' => $e::class, + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + ]], + JSON_THROW_ON_ERROR + )); } catch (\Exception $e) { - $response->setStatusCode(500); - $response->setContent( - json_encode( - ['error' => [ - 'type' => $e::class, - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ]], - JSON_THROW_ON_ERROR - ) - ); + return new Response(status: 500, headers: ['Content-Type' => 'application/json'], body: json_encode( + ['error' => [ + 'type' => $e::class, + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + ]], + JSON_THROW_ON_ERROR + )); } } } diff --git a/packages/neos-ui-guest-frame/src/initializeGuestFrame.js b/packages/neos-ui-guest-frame/src/initializeGuestFrame.js index 07b9b84df5..c4250deff5 100644 --- a/packages/neos-ui-guest-frame/src/initializeGuestFrame.js +++ b/packages/neos-ui-guest-frame/src/initializeGuestFrame.js @@ -60,9 +60,6 @@ export default ({globalRegistry, store}) => function * initializeGuestFrame() { return; } - // Load legacy node data scripts from guest frame - remove with Neos 9.0 - const legacyNodeData = guestFrameWindow['@Neos.Neos.Ui:Nodes'] || {}; - // Load all nodedata for nodes in the guest frame and filter duplicates const {q} = yield backend.get(); const nodeContextPathsInGuestFrame = findAllNodesInGuestFrame().map(node => node.getAttribute('data-__neos-node-contextpath')); @@ -83,7 +80,6 @@ export default ({globalRegistry, store}) => function * initializeGuestFrame() { const nodes = Object.assign( {}, - legacyNodeData, // Merge legacy node data from the guest frame - remove with Neos 9.0 fullyLoadedNodesFromContent, { [documentInformation.metaData.documentNode]: documentInformation.metaData.documentNodeSerialization @@ -93,9 +89,6 @@ export default ({globalRegistry, store}) => function * initializeGuestFrame() { // Merge new nodes into the store yield put(actions.CR.Nodes.merge(nodes)); - // Remove the legacy inline scripts after initialization - remove with Neos 9.0 - Array.prototype.forEach.call(guestFrameWindow.document.querySelectorAll('script[data-neos-nodedata]'), element => element.parentElement.removeChild(element)); - const state = store.getState(); // Set the current document node to the one that is rendered in the guest frame which might be different from the one that is currently selected in the page tree