Skip to content

Neops Web Client 2.0.0

Released 2025-06-12

This release lets dashboard authors turn JSON data into searchable tables, combine detail and aggregation cards, and distinguish an intentionally empty filtered card from missing source data.

At a glance

Area What changed Why it matters
Static data table A dashboard card can select any JSON array and present its fields as columns. Facts that once required a custom card can become searchable and sortable through configuration.
Dashboard types Mixed dashboards can contain compatible standard and aggregation cards together. Users can combine entity details and fleet-level summaries on one page.
Empty card state A card reports when its local filter removed all source rows. Users can correct the card filter without first debugging the dashboard query.

Highlights

Turn nested facts into a useful table

The new static-data-table card selects a JSON array with JMESPath and evaluates each configured column against every row. It supports local search, pagination, and sorting without requiring a dedicated Neops entity type.

How to use it

  1. Add a static data table to a dashboard.
  2. Set jmesPathToTableDataJsonArray to the array that should supply the rows.
  3. Add a column for each value that users need to scan or sort.

Result: Nested facts such as device interfaces appear as an ordinary searchable table, while an invalid non-array expression produces a clear error.

Configuration

{
  "cardId": "static-data-table",
  "data": {
    "title": "Interface overview",
    "jmesPathToTableDataJsonArray": "device.facts.interfaces",
    "tableConfigArguments": {
      "sortable": true,
      "columns": [
        {
          "header": { "data": "Name", "orderKey": "name" },
          "labelExpression": "name"
        },
        {
          "header": { "data": "Status", "orderKey": "status" },
          "labelExpression": "status"
        }
      ]
    }
  }
}
  • Location: Static data table card configuration in the dashboard editor.
  • Defaults: Sorting, pagination hiding, toolbar hiding, and search disabling are off; page sizes are 5, 10, 20, and 50; row size is medium.
  • Existing configurations: The static data table has no older saved configuration to migrate.
  • Action required: Ensure the table JMESPath returns an array.

Combine detail and overview cards

Dashboard types now distinguish standard, aggregation, and mixed content. The editor uses each card’s compatibility declaration and names incompatible cards instead of failing silently.

How to use it

  1. Open a dashboard that needs both entity details and aggregated results.
  2. Select the mixed dashboard type.
  3. Add compatible standard and aggregation cards to the same grid.

Result: One dashboard can place an individual device table beside a summary chart without hiding incompatible-card problems.

Configuration

  • Location: Dashboard type in the dashboard editor.
  • Defaults: Existing dashboards retain their current type.
  • Existing configurations: Saved dashboards continue loading without migration.
  • Action required: Select the mixed type only when a dashboard needs both standard and aggregation cards.

Understand an empty filtered card

A card-level filter can intentionally narrow a shared dashboard result. The card now identifies that filter when it removes every row.

How to use it

  1. Open a dashboard card that reports no locally filtered data.
  2. Review the filter attached to that card.
  3. Adjust or remove the filter without changing the dashboard-wide query.

Result: Users can tell the difference between a deliberate local filter, missing source data, and a failed query.

Configuration

No user-configurable settings changed for this feature.

Upgrade notes

  • Existing dashboards require no migration and retain their current dashboard type.
  • Add the static data table only where a dashboard context exposes the required JSON array.

Technical details