diff --git a/Classes/Fusion/Helper/NodeInfoHelper.php b/Classes/Fusion/Helper/NodeInfoHelper.php index 06c748f49f..b38cf56ee6 100644 --- a/Classes/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Fusion/Helper/NodeInfoHelper.php @@ -226,10 +226,12 @@ protected function getBasicNodeInformation(Node $node): array $contentRepository = $this->contentRepositoryRegistry->get($node->subgraphIdentity->contentRepositoryId); $nodeAddressFactory = NodeAddressFactory::create($contentRepository); + $nodeAddress = $nodeAddressFactory->createFromNode($node); return [ - 'contextPath' => $nodeAddressFactory->createFromNode($node)->serializeForUri(), - 'name' => $node->nodeName?->jsonSerialize(), + 'contextPath' => $nodeAddress->serializeForUri(), + 'nodeAddress' => $nodeAddress->serializeForUri(), + 'name' => $node->nodeName?->value ?? '', 'identifier' => $node->nodeAggregateId->jsonSerialize(), 'nodeType' => $node->nodeType->getName(), 'label' => $node->getLabel(), @@ -238,7 +240,10 @@ protected function getBasicNodeInformation(Node $node): array 'depth' => $subgraph->retrieveNodePath($node->nodeAggregateId)->getDepth(), 'children' => [], 'parent' => $parentNode ? $nodeAddressFactory->createFromNode($parentNode)->serializeForUri() : null, - 'matchesCurrentDimensions' => $node->subgraphIdentity->dimensionSpacePoint->equals($node->originDimensionSpacePoint) + 'matchesCurrentDimensions' => $node->subgraphIdentity->dimensionSpacePoint->equals($node->originDimensionSpacePoint), + 'lastModificationDateTime' => $node->timestamps->lastModified?->format(\DateTime::ATOM), + 'creationDateTime' => $node->timestamps->created?->format(\DateTime::ATOM), + 'lastPublicationDateTime' => $node->timestamps->originalLastModified?->format(\DateTime::ATOM) ]; } diff --git a/packages/neos-ui-views/src/NodeInfoView/index.js b/packages/neos-ui-views/src/NodeInfoView/index.js index b2cb208efb..d0a9fb7eee 100644 --- a/packages/neos-ui-views/src/NodeInfoView/index.js +++ b/packages/neos-ui-views/src/NodeInfoView/index.js @@ -28,11 +28,11 @@ export default class NodeInfoView extends PureComponent { const node = getNodeByContextPath(focusedNodeContextPath); const properties = { identifier: $get('identifier', node), - created: $get('properties._creationDateTime', node), - lastModification: $get('properties._lastModificationDateTime', node), - lastPublication: $get('properties._lastPublicationDateTime', node), - path: $get('properties._path', node), - name: $get('properties._name', node) ? $get('properties._name', node) : '/' + created: $get('creationDateTime', node), + lastModification: $get('lastModificationDateTime', node), + lastPublication: $get('lastPublicationDateTime', node), + nodeAddress: $get('nodeAddress', node), + name: $get('name', node) ? $get('name', node) : '/' }; const nodeType = $get('nodeType', node); @@ -45,19 +45,23 @@ export default class NodeInfoView extends PureComponent {
  • {i18nRegistry.translate('lastModification', 'Last modification', {}, 'Neos.Neos')}
    - {new Date(properties.lastModification).toLocaleString()} + {properties.lastModification ? new Date(properties.lastModification).toLocaleString() : i18nRegistry.translate('unavailable', 'unavailable', {}, 'Neos.Neos')}
  • - {properties.lastPublication ? (
  • +
  • {i18nRegistry.translate('lastPublication', 'Last publication', {}, 'Neos.Neos')}
    - {new Date(properties.lastPublication).toLocaleString()} -
  • ) : []} + {properties.lastPublication ? new Date(properties.lastPublication).toLocaleString() : i18nRegistry.translate('unavailable', 'unavailable', {}, 'Neos.Neos')} +
  • {i18nRegistry.translate('identifier', 'Identifier', {}, 'Neos.Neos')}
    {properties.identifier}
  • -
  • +
  • +
    {i18nRegistry.translate('nodeAddress', 'Node Address', {}, 'Neos.Neos')}
    + {properties.nodeAddress} +
  • +
  • {i18nRegistry.translate('name', 'Name', {}, 'Neos.Neos')}
    - {properties.name} + {properties.name ?? i18nRegistry.translate('unavailable', 'unavailable', {}, 'Neos.Neos')}
  • {i18nRegistry.translate('type', 'Type', {}, 'Neos.Neos')}