Skip to main content

Fields


Fields

The fields configuration is required when a form component is part of the widget. Each key is the field's unique name, referenced from form verticals and sections. Field names must also align with the payload keys of the associated service.

"fields": {
"issue_title": {
"label": "Title",
"data": "title",
"type": "textinput",
"tooltip": "Enter a short descriptive title",
"validation": {
"required": true,
"maxLength": 100,
"errorMessage": "Title is required and must be under 100 characters"
}
},
"issue_priority": {
"label": "Priority",
"type": "select",
"options": ["Low", "Medium", "High"]
},
"issue_owner": {
"label": "Owner",
"type": "person",
"data": "owner",
"readonly": true
}
}

Field properties

PropertyTypeRequiredDescription
idstringnoUnique identifier for the field. Used as the key when collecting form submission values. Falls back to name if not set.
namestringnoName identifier used in form state and change tracking. Falls back to id if not provided. Should be unique within the form.
labelstringnoHuman-readable label displayed alongside the field.
typestringnoInput type determining which component is rendered. See Field types. Defaults to textinput.
valueanynoInitial or pre-populated field value. Use an array for dropbox and fileDropBox types; string or boolean for all others.
optionsarray<string>noList of selectable option values. Required for select and radio types.
tooltipstringnoHelper text displayed alongside the field label to guide the user.
readonlybooleannoWhen true, the field is always rendered read-only even when the form is in edit mode.
hiddenbooleannoWhen true, the field is hidden. Can also be controlled dynamically via visibility or conditional.
visiblebooleannoInverse of hidden. When false, the field is excluded from rendering. Prefer hidden or conditional for dynamic control.
datastring, array, or objectnoData key(s) to select from the current dataset and present in the field. See Data selection.
servicesarray<string>noService definition names called to load data into the graph before the field value is resolved.
loadingLabelstringnoText displayed in the field while its service is loading (e.g. "Loading...").
iconSelectstringnoData key pointing to an icon URL within the node data (e.g. "typeIcon"). Used with ICON_RENDERER.
dropModebooleannoWhen true, enables the field as a drop target for drag-and-drop rows or items.
dropItemIdentifierstringnoProperty key used to uniquely identify dropped items in a dropbox field (e.g. "objectId"). Prevents duplicates.
preTransformerobjectnoJSON template applied to transform dropped items before storing in a dropbox field. Use {{key}} placeholders replaced with item properties.
validationobjectnoValidation rules applied on form submission. See Validation.
conditionalobjectnoDeclarative show/hide and enable/disable logic based on another field's value. See Conditional.
visibilityobjectnoAlternative visibility control resolved against graph/dataset node values. See Visibility.
editobjectnoSettings specific to edit mode. See Edit.
datahandlerobjectnoAdvanced data processing using a registered datahandler plugin. See Datahandler.
cellRendererobjectnoBuilt-in or custom cell renderer for display. See Cell renderer.
valueFormatterobjectnoTransforms the raw value before display (e.g. relative date formatting). See Value formatter.
settingsobjectnoMiscellaneous rendering and behaviour settings. See Settings.

Field types

TypeDescription
textinputSingle-line text input (default when type is omitted).
textareaMulti-line text input.
dateDate picker input.
checkboxBoolean checkbox input.
radioRadio button group. Requires options.
selectDropdown select. Requires options.
personPerson/user display. Rendered read-only via PersonRenderer.
dropboxDrag-and-drop item drop zone. Value is an array of dropped objects.
fileDropBoxFile drag-and-drop or click-to-upload zone. Value is an array of File objects.
dynamicRead-only display type for dynamically computed values.

Data selection

The data property specifies which value(s) to pull from the current dataset node.

Simple string — selects a single key:

"data": "title"

Array — selects multiple keys for multi-value display:

"data": ["title", "state"]

Object — advanced selection with dataset scoping or edge/node control:

"data": {
"select": "title",
"datasets": ["contextNode"],
"isEdge": false
}

Array items can also be objects with additional filtering:

PropertyTypeDescription
selectstringData key to select from the node.
rangeSelectstringKey in the node containing range values.
nodeConditionstringCytoscape selector to restrict which nodes this selection applies to. Cannot be combined with datasets.
datasetsarray<string>Dataset names to scope this selection to.
isEdgebooleanWhen true, selects from edges instead of nodes (object form only).

Validation

"validation": {
"required": true,
"minLength": 3,
"maxLength": 50,
"errorMessage": "Please enter between 3 and 50 characters"
}
PropertyTypeDescription
requiredbooleanField must have a non-empty value before the form can be submitted.
numericbooleanValue must be a valid number.
minLengthnumberMinimum character length.
maxLengthnumberMaximum character length.
errorMessagestringCustom message shown when validation fails. Falls back to a built-in message if not provided.

Conditional

Controls visibility and enabled state based on another field's current value. Evaluated on every form change.

"conditional": {
"dependsOn": "issue_type",
"showWhen": ["Bug", "Defect"]
}
PropertyTypeDescription
dependsOnstringThe name (or id) of the field whose value drives this field's state.
showWhenarray<string>Values of dependsOn that make this field visible. Hidden when value is not in the list.
hideWhenarray<string>Values of dependsOn that hide this field.
enableWhenarray<string>Values of dependsOn that enable this field. Disabled when value is not in the list.
disableWhenarray<string>Values of dependsOn that disable this field.

Visibility

Alternative visibility mechanism resolved against graph/dataset node values (as opposed to conditional which operates on sibling field values within the form).

"visibility": {
"dependsOn": "status",
"dependsOnValue": ["Open", "InProgress"]
}
PropertyTypeDescription
dependsOnstringThe field id or name whose value determines visibility.
dependsOnValuestring or array<string>The value(s) dependsOn must equal for this field to be shown. Any other value hides the field.

Edit

Settings applied specifically when the form is in edit mode.

PropertyTypeDescription
postUpdateNodeSelectarray<string>Names of additional fields to refresh in the graph nodes after this field's value is changed.

Datahandler

Used for advanced data processing such as rollup calculations. Datahandlers are registered via custom resource plugins.

"datahandler": {
"name": "rollup",
"datahandlerProps": {
"edgeStatement": "[type='VPMInstance']",
"nodeStatement": "[type='VPMReference']"
}
}
PropertyTypeRequiredDescription
namestringyesName of the registered datahandler. Currently supported: rollup.
datahandlerPropsobjectnoAdditional options passed to the datahandler.
datahandlerProps.edgeStatementstringnoCytoscape selector to filter specific edges before processing.
datahandlerProps.nodeStatementstringnoCytoscape selector to filter specific nodes before processing.

Cell renderer

Applies a built-in or custom renderer for the field's display value.

"cellRenderer": {
"name": "AUTO_COLOR_RENDERER",
"cellRendererProps": {
"styleProp": "background",
"customColorMappings": [
{ "value": "High", "color": "#FF0000" },
{ "value": "Low", "color": "#00AA00" }
]
}
}
name valueDescription
AUTO_COLOR_RENDERERColours the cell based on value mappings or numeric ranges.
PERSON_RENDERERRenders a person/user chip with avatar.
ICON_RENDERERRenders an icon based on the field value.

cellRendererProps

PropertyTypeDescription
stylePropstringAUTO_COLOR_RENDERER only. How colour is applied: "color" (text) or "background".
colorizebooleanICON_RENDERER only. When true, the icon is colourized.
customColorMappingsarrayAUTO_COLOR_RENDERER. Maps specific values or numeric ranges to colours.
customColorMappings[].valuestringThe cell value to match.
customColorMappings[].colorstringColour to apply. HEX values (e.g. #FF0000) automatically compute a matching foreground colour.
customColorMappings[].rangeobjectNumeric range to apply a colour to (upperLimit, lowerLimit, inclusive).
customIconMappingsarrayICON_RENDERER. Maps specific values to icon keys.
customIconMappings[].valuestringThe data value to match.
customIconMappings[].iconstringIcon key (e.g. "wux-ui-3ds-flag").
customIconMappings[].iconFamilystringIcon family: "DSFontIcon" or "entypo".
customIconMappings[].colorstringColour for the icon (e.g. "#FF0000").

Value formatter

Transforms the raw field value before display.

"valueFormatter": {
"name": "relativeDate"
}
PropertyTypeRequiredDescription
namestringyesName of the registered value formatter (e.g. "relativeDate").
valueFormatterPropsobjectnoAdditional configuration options passed to the formatter.

Settings

Miscellaneous rendering and behaviour options.

PropertyTypeDescription
showFullNamebooleanperson type. When false, the full name is shown only in a tooltip. Defaults to true.
dragAllAtOncebooleanWhen true, drags all related field data in one operation, including data from additionally selected rows.
usesAlternateOidbooleanWhen true, makes the dataset data draggable.
styleCellValueobjectApplies inline CSS styling to the cell value.
renderAsMultiValuebooleanWhen true, renders the value as a list of multiple values.
dateFormatstringDate format pattern string (e.g. "YYYY-MM-DD").
dateFormatOptionsobjectLocale-aware date formatting via Intl.DateTimeFormat. Alternative to dateFormat.
dateFormatOptions.localestringBCP 47 locale tag (e.g. "en-US", "fr-FR").
dateFormatOptions.optionsobjectIntl.DateTimeFormat options object with year, month, day string values.
fallbackValuesarray<string>Ordered list of data keys to try if the primary value is empty.