Configuration Components Table Widget
The widget’s configuration schema is defined in src/index.ts and exposed via the widget SDK. Below are the available options, their purpose, and defaults.
Options
Font Size: CSS font size for the table text.
Key:
fontSizeType:
stringDefault:
"0.8em"
Devices (rows): Full Tango device paths with an optional Tango DB selector per row.
Key:
devicesType:
Array<{ endpoint: TANGO_DB, attribute: string }>Default: predefined LOW devices
Example:
{ "endpoint": "", "attribute": "low-tmc/central-node/0" }
Attributes (columns): Attribute names to display as columns (e.g.,
AdminMode,State,ObsState,HealthState).Key:
attributesType:
string[]Default:
[]
Column Names (optional): Optional display names aligned with
attributesby position. Empty entries fallback to the matching attribute name.Key:
columnNamesType:
string[]Default:
[]Example: if
attributes=["State","HealthState"]andcolumnNames=["Lifecycle",""], headers areLifecycleandHealthState.
Row Labels (optional): Optional display labels aligned with the
deviceslist.Key:
labelsType:
string[]Default:
[]If omitted, the widget derives a label from the device name (last path segment).
Use Live Data (subscribe): If enabled, uses WebSocket subscriptions for real-time updates. If disabled, uses HTTP queries at the dashboard refresh rate.
Key:
useLiveDataType:
booleanDefault:
true
Show Enum Labels: Translate numeric enum values to labels using GraphQL metadata. When disabled, shows raw values.
Key:
useEnumLabelsType:
booleanDefault:
true
Show Timestamp Column: Show a per-row timestamp column (latest timestamp across visible attributes).
Key:
showTimestampType:
booleanDefault:
false
Time column format: Select a common display format for the Timestamp column.
Key:
timeColumnFormatType:
string(dropdown)Allowed values:
"{24h}","{time}","{timefull}","{iso}"Default:
"{24h}"
Column widths: Persisted per-column widths managed automatically when resizing headers.
Key:
columnWidthsType:
Record<string, number>Default:
{}Managed automatically and hidden from the standard settings form.
Brush Value Match: Controls how advanced brush expressions such as
value: "ON"are matched in this widget.Key:
brushMatchModeType:
"partial" | "full"Default:
"partial"partial: substring match (ONmatchesRUNNINGbecause it containson)full: exact match forvalue:terms (ONmatches onlyON)
Hover Attributes (positional): For each
attributes[i], optionally show another attribute’s value when hovering that cell. These can be attributes not present in the visible columns.Key:
hoverAttrsType:
string[]Default:
[]Example:
["Status", "Status", "Status", "Status"]
Notes
You can mix default and endpoint-prefixed devices in the same table.
Enum label translation is best-effort; when metadata is unavailable or
useEnumLabelsis false, raw values are shown.Known state-like labels render as colored chips for readability.
Column auto-fit is driven by the shared widget layout measurement, so the table fills the available width before falling back to horizontal scrolling.
Auto-fit uses the available layout width without enforcing header-label minimums; persisted manual column widths still override auto-fit.