diff --git a/Classes/Domain/Service/NodePropertyConverterService.php b/Classes/Domain/Service/NodePropertyConverterService.php index 2688c2dbed..ca12403dfa 100644 --- a/Classes/Domain/Service/NodePropertyConverterService.php +++ b/Classes/Domain/Service/NodePropertyConverterService.php @@ -165,7 +165,7 @@ private function getProperty(Node $node, string $propertyName): mixed } /** - * Get all properties and references stuff reduced to simple type (no objects) representations in an array + * Get all properties information reduced to simple type (no objects) representations in an array * * @param Node $node * @return array @@ -181,10 +181,23 @@ public function getPropertiesArray(Node $node) $properties[$propertyName] = $this->getProperty($node, $propertyName); } + return $properties; + } + + /** + * Get all references information reduced to simple type (no objects) representations in an array + * + * @param Node $node + * @return array + */ + public function getReferencesArray(Node $node) + { + $references = []; + foreach ($this->getNodeType($node)->getReferences() as $referenceName => $_) { - $properties[$referenceName] = $this->getReference($node, $referenceName); + $references[$referenceName] = $this->getReference($node, $referenceName); } - return $properties; + return $references; } /** diff --git a/Classes/Fusion/Helper/NodeInfoHelper.php b/Classes/Fusion/Helper/NodeInfoHelper.php index a4c12ba0c9..2115820119 100644 --- a/Classes/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Fusion/Helper/NodeInfoHelper.php @@ -141,6 +141,7 @@ public function renderNodeWithPropertiesAndChildrenInformation( $nodeInfo = $this->getBasicNodeInformation($node); $nodeInfo['properties'] = $this->nodePropertyConverterService->getPropertiesArray($node); + $nodeInfo['references'] = $this->nodePropertyConverterService->getReferencesArray($node); $nodeInfo['tags'] = $node->tags; $nodeInfo['isFullyLoaded'] = true; diff --git a/packages/neos-ts-interfaces/src/index.ts b/packages/neos-ts-interfaces/src/index.ts index 7689692b18..397e8fca2d 100644 --- a/packages/neos-ts-interfaces/src/index.ts +++ b/packages/neos-ts-interfaces/src/index.ts @@ -69,6 +69,9 @@ export interface Node { properties: { [propName: string]: any; }; + references: { + [referenceName: string]: any; + }; isFullyLoaded: boolean; uri: string; parent: NodeContextPath; diff --git a/packages/neos-ui/src/Containers/RightSideBar/Inspector/InspectorEditorEnvelope/index.js b/packages/neos-ui/src/Containers/RightSideBar/Inspector/InspectorEditorEnvelope/index.js index f1f204026e..e5b748ad41 100644 --- a/packages/neos-ui/src/Containers/RightSideBar/Inspector/InspectorEditorEnvelope/index.js +++ b/packages/neos-ui/src/Containers/RightSideBar/Inspector/InspectorEditorEnvelope/index.js @@ -67,8 +67,7 @@ export default class InspectorEditorEnvelope extends PureComponent { // // nodeType needs to be read directly from node // - const sourceValueRaw = id === '_nodeType' ? node?.nodeType : node?.properties?.[id]; - const sourceValue = sourceValueRaw; + const sourceValue = id === '_nodeType' ? node?.nodeType : (node?.references?.[id] ? node?.references?.[id] : node?.properties?.[id]); const transientValue = transientValueRaw; return (