FlowFuse / FlowFuse/node-red-dashboard

ui-chart: series property of JSON array of keys doesn't work for object payload

Open
#975 0 comments 0 reactions 0 assignees View on GitHub
size:S type:bug
Dominant language
HTML
Stars
355
Forks
82
Avg merge
4d 23h
Merged PRs (30d)
24

Description

### Current Behavior

In ui-chart, setting the series property to type JSON and providing an array of keys, only works if payload is an array, and fails if payload is an object.

### Expected Behavior

The [documentation](https://dashboard.flowfuse.com/nodes/widgets/ui-chart.html#series) says:

> Alternatively, you can set the series property to type JSON, and then provide an array of keys (e.g. ["key1", "key2"]), which will plot a data point for each key provided, from a single data point.

When only one data poing is sent (payload is an object) it should work like when sending an array of objects.

### Steps To Reproduce

Create an inject node that injects the following JSON:
```json
[
{
"x_value": 12,
"value": 17,
"nested": {
"value": 24
}
}
]
```

Create an ui-chart node connected to the inject. Set the chart "Series" to JSON, with value `["value", "nested.value"]` and set "X" to key: x_value.
Display the chart and inject the value. It should display it.
Modify the injected JSON to:

```json
{
"x_value": 12,
"value": 17,
"nested": {
"value": 24
}
}
```

inject the new value. The chart shows nothing.

### Environment

- Environment
- Dashboard version: 1.11.1
- Node-RED version: 3.1.10
- Node.js version: v16.20.2
- npm version: 8.19.4
- Platform/OS: NodeRed on Docker (Linux 5.15.0-112-generic x64 LE)
- Browser: Chrome

### Have you provided an initial effort estimate for this issue?

I can not provide an initial effort estimate

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.