class NodeTypeSchemaBuilder (View source)

Renders the Node Type Schema in a format the User Interface understands; additionally pre-calculating node constraints

Properties

protected NodeTypeManager $nodeTypeManager
protected array $nodeTypeRoles

The Neos UI package needs a few additional abstract nodetypes to be present in the schema.

Methods

array
generateNodeTypeSchema()

The preprocessed node type schema contains everything we need for the UI:

array
generateConstraints()

Generate the list of allowed sub-node-types per parent-node-type and child-node-name.

Details

array generateNodeTypeSchema()

The preprocessed node type schema contains everything we need for the UI:

  • "nodeTypes" contains the original (merged) node type schema
  • "inheritanceMap.subTypes" contains for every parent type the transitive list of subtypes
  • "constraints" contains for each node type, the list of allowed child node types; normalizing allowlists and excludelists:
    • [node type]
    • nodeTypes:
    • childNodes:
      • [child node name]
      • nodeTypes:

Return Value

array

the node type schema ready to be used by the JavaScript code

protected array generateConstraints()

Generate the list of allowed sub-node-types per parent-node-type and child-node-name.

Return Value

array constraints