@meshmakers/octo-meshboard 3.5.570 → 3.5.590

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -587,6 +587,55 @@ interface BarChartWidgetConfig {
587
587
  }
588
588
  ```
589
589
 
590
+ ### Line Chart Widget
591
+ Displays time series as line or area charts; every value of `seriesGroupField` becomes one line.
592
+ Series from further queries, formula series and per-series options are described in the library's
593
+ `CLAUDE.md` (section *Line-chart resolution-aware fan-out* and the sections starting with *Line chart:* and
594
+ *Line and bar chart:*).
595
+
596
+ ```typescript
597
+ interface LineChartWidgetConfig {
598
+ type: 'lineChart';
599
+ chartType: 'line' | 'area';
600
+ categoryField: string; // date/time field of the X axis
601
+ seriesGroupField: string; // one line per value
602
+ valueField: string;
603
+ unitField?: string;
604
+ excludedSeriesGroupValues?: string[]; // series group values left out (see below)
605
+ // ... legend, markers, filters, additionalSeries, primarySeries, stacked, bucketMinutes
606
+ }
607
+ ```
608
+
609
+ **Leaving series out (`excludedSeriesGroupValues`).** A grouped chart can leave out chosen series of its
610
+ primary query, for example a register that duplicates another one. On the fan-out paths (resolution-aware charts, one line per source entity or per group) the values are not queried; in plain grouping the rows the query returns for them are dropped before the series are formed. Either way they are not drawn
611
+ and not in the legend, on the raw archive as on rollups (no query column is needed, so it works where a
612
+ row filter on the group column fails). Board JSON of a widget config:
613
+
614
+ ```json
615
+ {
616
+ "chartType": "line",
617
+ "categoryField": "window_start",
618
+ "seriesGroupField": "obisCode",
619
+ "valueField": "amount.value",
620
+ "resolutionAware": true,
621
+ "requiredAggregation": "SUM",
622
+ "aggregateSeriesByGroup": true,
623
+ "excludedSeriesGroupValues": ["1-1:2.9.0 G.03R"]
624
+ }
625
+ ```
626
+
627
+ - Matching is exact on the stored `seriesGroupField` value: case and blanks as stored, before any display
628
+ label. A value that does not occur changes nothing.
629
+ - A resolution-aware chart without an entity scope and without `aggregateSeriesByGroup` draws one merged
630
+ line. When an excluded value occurs among the source entities, that line covers only the source entities
631
+ of the other values (at most 5000 entities are read; entities without a value of the group field drop out).
632
+ - When every value is excluded, or the exclusion leaves no value, the chart shows its normal no-data state.
633
+ - The entity-selector scope still applies to the remaining series. Additional series are not affected
634
+ (hide them with `visible: false`).
635
+ - The key is written only when the list is not empty; charts without it load and save unchanged.
636
+ - In the dialog: *Field Mapping → Excluded series*, shown once a series group field is set. Choosing another
637
+ series group field or another query clears the list.
638
+
590
639
  ### Stats Grid Widget
591
640
  Displays multiple KPIs in a grid layout.
592
641