Skip to main content

Component Identifier Picker

Overview​

This picker serves the same purpose as the Identifier picker but for components, where their identifiers are generated as ${parentSystemId}.${componentName}.

Configuration​

Defined as follows:

identifier:
title: Identifier
type: string
ui:field: ComponentIdentifierPicker
ui:options:
allowArbitraryValues: false

The component's identifier is built by concatenating the value of a picker named parentRef (e.g., system:<parent-system-name>) in the same template, with the component's name. If parentRef is not found, the picker falls back to use the dataproduct field value.

In case you need to handle specific use cases (for example, when the "name" and "parent" fields use different keys than the defaults), the configuration options are:

  • allowArbitraryValues [boolean]: If true, the user can input any value for the identifier. If false, the identifier is generated automatically.
  • nameField [string]: The field name used as the component's name to generate the identifier. Defaults to name.
  • parentField [string]: The field name used as the parent reference to generate the identifier. When set, only this field is read for the parent value - the parentRef/dataproduct fallback described above no longer applies. Not set by default, which keeps the parentRef/dataproduct fallback behavior.

For example, to use custom field names instead of the defaults:

properties:
sourceSystemRef:
type: string
ui:field: EntityPicker
componentDisplayName:
type: string
componentId:
title: Identifier
type: string
ui:field: ComponentIdentifierPicker
ui:options:
nameField: componentDisplayName
parentField: sourceSystemRef