Skip to content

Static data table card

The Static data table card extracts an array from the dashboard interpolation context and renders it as a searchable, sortable table.

When to use it

Use it for JSON arrays nested in already-loaded dashboard data, such as a fact payload on the selected device. Use Table when rows should come from a paginated Neops entity search.

Live example

The Card Lab supplies a deterministic selected-device fact payload to the production static table.

Requirements

Requirement Value
Dashboard types Standard and aggregation
Minimum size 5 columns by 5 rows
Data A non-empty JSON array reachable from dashboard interpolation context
Backend capabilities None beyond whatever populated the dashboard context
Permissions Read access to the source context and its displayed values

Configuration

This card has no guided editor in SDK 5.2.0; configure it in expert JSON. The paths below are relative to cardConfig.data.

Card and table fields

Path Type Required Default and effect
title Interpolated string No No heading. Evaluated against the complete dashboard interpolation context.
description String No No description. Shown directly below the card title.
jmesPathToTableDataJsonArray JMESPath expression Yes No default. Must resolve to a non-empty array or the card shows a diagnostic with the returned value.
tableConfigArguments Object Yes Runtime fallback is an object with no columns. Contains all table presentation settings.
tableConfigArguments.description String No No generic-table description. This is separate from the card-level description.
tableConfigArguments.searchDisabled Boolean No false. Hides the table search when true.
tableConfigArguments.size String No md. Carbon row size supported by the installed table component.
tableConfigArguments.sortable Boolean No false. Enables sorting where a column supplies an order key.
tableConfigArguments.itemsPerPageOptions Integer array No [5, 10, 20, 50]. Supplies page-size choices.
tableConfigArguments.allowToHidePagination Boolean No false. Allows pagination controls to disappear when all rows fit on one page.
tableConfigArguments.toolbarDisabled Boolean No false. Hides the table toolbar when true.
tableConfigArguments.columns Array Yes Empty array. Defines visible columns in order.

Column fields

Path Type Required Default and effect
tableConfigArguments.columns[].header Object Yes Contains the column heading settings.
tableConfigArguments.columns[].header.data String No -. Visible heading text.
tableConfigArguments.columns[].header.orderKey String No Not sortable. Supplies the sort key.
tableConfigArguments.columns[].header.columnSize String No Grow to available width. Values: xs, sm, md, lg, xl, xxl, grow.
tableConfigArguments.columns[].header.visible Boolean No true. Hides the column when false.
tableConfigArguments.columns[].labelExpression JMESPath expression Yes No default. Evaluated against each row to produce the cell value.
tableConfigArguments.columns[].linkExpression JMESPath expression No No link. Evaluated against each row to make the cell clickable.
tableConfigArguments.columns[].domain String No Text-like fallback. Values include text, ip, date, number, choices, multiChoices, boolean, check, button, croneExpression.
tableConfigArguments.columns[].showAs String No Renderer inferred from domain. Values include text, date, boolean-success, boolean-checkbox, action-cron, button-checks-facts.
tableConfigArguments.columns[].showAsConfig Object No No renderer-specific settings. Its shape depends on showAs.
tableConfigArguments.columns[].listItemProperty String For multiChoices No default. Selects the label field from each object in an array.
tableConfigArguments.columns[].editorConfig Object No Ignored by this read-only static table implementation in SDK 5.2.0.

Examples

Device fact rows

{
  "cardId": "static-data-table",
  "data": {
    "title": "Installed modules",
    "description": "Modules reported by the selected device",
    "jmesPathToTableDataJsonArray": "device.facts.inventory.modules",
    "tableConfigArguments": {
      "sortable": true,
      "allowToHidePagination": true,
      "columns": [
        {
          "header": { "data": "Name", "orderKey": "name" },
          "labelExpression": "name",
          "listItemProperty": "name"
        },
        {
          "header": { "data": "Serial", "orderKey": "serial" },
          "labelExpression": "serial",
          "listItemProperty": "serial"
        }
      ]
    }
  }
}

The card rebuilds its local data service from the selected device’s module array and renders two sortable columns.

Behavior

The JMESPath expression is evaluated once on initialization and whenever the dashboard interpolation context changes. Date domains render as dd.MM.yyyy; boolean and check domains retain boolean semantics; multi-choice cells can extract one property from each array item. The table is read-only and does not open row edit actions.

Limitations and safety

An empty array is treated as invalid input and shows the diagnostic state rather than an empty table. The full row objects remain in the browser even when only selected columns are visible.

See Table for backend-paginated entity rows.