@meshmakers/octo-meshboard 3.5.580 → 3.5.600

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-meshboard",
3
- "version": "3.5.580",
3
+ "version": "3.5.600",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^22.0.0",
6
6
  "@angular/core": "^22.0.0",
@@ -1039,6 +1039,12 @@ interface LineChartWidgetConfig extends WidgetConfig {
1039
1039
  * follows the chart width, as before.
1040
1040
  */
1041
1041
  bucketMinutes?: number;
1042
+ /**
1043
+ * Raw {@link seriesGroupField} values whose series the chart leaves out of the primary data source
1044
+ * (AB#8128): not queried, not drawn, not in the legend. Exact match on the stored value (case and
1045
+ * whitespace as stored), before any display label. Omitted when empty.
1046
+ */
1047
+ excludedSeriesGroupValues?: string[];
1042
1048
  }
1043
1049
  /** Fixed bucket sizes of a line chart in minutes (AB#8046). All divide one hour, so they stay on the wall-clock grid across DST changes. */
1044
1050
  declare const LINE_CHART_BUCKET_MINUTES: readonly number[];
@@ -2474,8 +2480,10 @@ declare class QueryExecutorService {
2474
2480
  * Group-aggregation source resolution (AB#4714): fetches the source entities of `ckTypeId` in a
2475
2481
  * single bulk read and buckets their rtIds by the value of `groupField` (canonical match — case
2476
2482
  * and non-alphanumerics are ignored, so an archive column name maps to its CK attribute). Returns
2477
- * `groupValue → rtIds`. Optionally restricted to `restrictRtIds` (an entity-selector scope) —
2478
- * entities outside that set are dropped. Entities whose group attribute is missing/null are
2483
+ * `groupValue → rtIds`. Optionally restricted to `restrictRtIds` (an entity-selector scope): the
2484
+ * restriction is applied server-side as an `rtId IN` field filter of the same request (so the
2485
+ * {@link ENTITY_GROUP_FETCH_CAP} counts scoped entities only), and entities outside the set are
2486
+ * dropped again on the client as a guard. Entities whose group attribute is missing/null are
2479
2487
  * omitted (they cannot be attributed to a line). The population is bounded to
2480
2488
  * {@link ENTITY_GROUP_FETCH_CAP}; a truncated read is logged (never silently capped).
2481
2489
  */
@@ -5695,6 +5703,8 @@ declare class BarChartWidgetComponent implements DashboardWidget<BarChartWidgetC
5695
5703
  private readonly _multiSource;
5696
5704
  readonly isMultiSource: _angular_core.Signal<boolean>;
5697
5705
  readonly data: _angular_core.Signal<SeriesData[]>;
5706
+ /** Name of the main value axis (template binding, AB#8234). */
5707
+ get primaryAxisName(): string;
5698
5708
  /** Name of the second value axis (template binding, AB#8046). */
5699
5709
  get secondaryAxisName(): string;
5700
5710
  /** A drawn line series uses the second value axis (AB#8046). */
@@ -6120,15 +6130,23 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
6120
6130
  * Group-aggregation fan-out (AB#4714): buckets the source entities by `seriesGroupField` and runs
6121
6131
  * one downsampling call per group with the group's rtIds. The transient downsampling reduces over
6122
6132
  * the group's members server-side, yielding one aggregate line per distinct group value. Falls
6123
- * back to a single merged series when no group can be resolved.
6133
+ * back to a single merged series when no group can be resolved. Excluded series group values
6134
+ * (AB#8128) are not queried; when they remove every group, nothing is queried and there is no data.
6124
6135
  */
6125
6136
  private loadGroupAggregatedRows;
6126
6137
  /**
6127
6138
  * Default resolution-aware fan-out (AB#4290): one downsampling call per source rtId so each
6128
6139
  * register stays its own line, labeled from its `seriesGroupField` attribute. With no source
6129
- * scope a single merged series is produced (labeled by the series-group field name).
6140
+ * scope a single merged series is produced (labeled by the series-group field name); when an
6141
+ * excluded series group value (AB#8128) occurs among the source entities, that series covers only
6142
+ * the source entities of the other values. Scoped sources whose label is excluded are not queried.
6143
+ * On that unscoped path the merged series is built from the `fetchEntityGroups` read, so entities
6144
+ * without a group value and entities beyond its 5000 cap are not in it (a full read measured 16-80 s
6145
+ * per load, and the downsampling query fails above ~10 000 rtIds).
6130
6146
  */
6131
6147
  private loadPerRtIdRows;
6148
+ /** Raw series group values the chart leaves out (AB#8128). */
6149
+ private excludedSeriesGroups;
6132
6150
  /**
6133
6151
  * Reshapes one downsampling bin onto the widget's configured value + series-group fields so the
6134
6152
  * shared {@link processData} path plots it. The transient row carries the reduced value under a
@@ -6236,6 +6254,8 @@ interface LineChartConfigResult extends WidgetConfigResult {
6236
6254
  stacked?: boolean;
6237
6255
  /** Fixed bucket size in minutes (AB#8046); absent = follows the chart width. */
6238
6256
  bucketMinutes?: number;
6257
+ /** Raw series group values left out of the chart (AB#8128); absent when none. */
6258
+ excludedSeriesGroupValues?: string[];
6239
6259
  }
6240
6260
  /**
6241
6261
  * Configuration dialog for Line Chart widgets.
@@ -6270,6 +6290,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
6270
6290
  initialStacked?: boolean;
6271
6291
  initialPrimarySeries?: LineChartSeriesDisplayOptions;
6272
6292
  initialBucketMinutes?: number;
6293
+ initialExcludedSeriesGroupValues?: string[];
6273
6294
  /** Options of the bucket size dropdown (AB#8046): automatic (`null`) plus the fixed sizes. */
6274
6295
  get bucketSizeOptions(): {
6275
6296
  value: number | null;
@@ -6279,6 +6300,18 @@ declare class LineChartConfigDialogComponent implements OnInit {
6279
6300
  additionalSeries: LineChartSeriesDefinition[];
6280
6301
  /** Display options of the primary query's series (AB#7952). */
6281
6302
  primarySeries: LineChartSeriesDisplayOptions | undefined;
6303
+ /** Raw series group values left out of the chart (AB#8128). */
6304
+ excludedSeriesGroupValues: string[];
6305
+ /** Values of the series group field offered for exclusion (AB#8128). */
6306
+ seriesGroupValues: string[];
6307
+ isLoadingSeriesGroupValues: boolean;
6308
+ /** The offered values could not be loaded; typed values still work. */
6309
+ seriesGroupValuesFailed: boolean;
6310
+ private seriesGroupValuesLoadToken;
6311
+ /** Text typed into the Excluded series field; narrows the offered values. */
6312
+ seriesGroupValueFilter: string;
6313
+ /** The offered values that contain the typed text (case-insensitive). */
6314
+ get filteredSeriesGroupValues(): string[];
6282
6315
  isLoadingInitial: boolean;
6283
6316
  isLoadingColumns: boolean;
6284
6317
  selectedPersistentQuery: PersistentQueryItem | null;
@@ -6334,13 +6367,21 @@ declare class LineChartConfigDialogComponent implements OnInit {
6334
6367
  * because the SD path has no dedicated column-introspection endpoint today.
6335
6368
  */
6336
6369
  private fetchColumnsForFamily;
6370
+ /**
6371
+ * Loads the values of the series group field offered for exclusion (AB#8128): for a stream-data query the
6372
+ * group values of the source entities (the `fetchEntityGroups` read the widget groups by), for a runtime
6373
+ * query the distinct values of that column in the query result.
6374
+ */
6375
+ loadSeriesGroupValues(): Promise<void>;
6376
+ /** The author picked another series group field: the values excluded for the old field no longer apply. */
6377
+ onSeriesGroupFieldChange(): Promise<void>;
6337
6378
  onFiltersChange(updatedFilters: FieldFilterItem[]): void;
6338
6379
  onSave(): void;
6339
6380
  addReferenceLine(): void;
6340
6381
  removeReferenceLine(index: number): void;
6341
6382
  onCancel(): void;
6342
6383
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartConfigDialogComponent, never>;
6343
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartConfigDialogComponent, "mm-line-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialEntitySelectorId": { "alias": "initialEntitySelectorId"; "required": false; }; "initialResolutionAware": { "alias": "initialResolutionAware"; "required": false; }; "initialRequiredAggregation": { "alias": "initialRequiredAggregation"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialUnitField": { "alias": "initialUnitField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowMarkers": { "alias": "initialShowMarkers"; "required": false; }; "initialShowDataBadge": { "alias": "initialShowDataBadge"; "required": false; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialAdditionalSeries": { "alias": "initialAdditionalSeries"; "required": false; }; "initialStacked": { "alias": "initialStacked"; "required": false; }; "initialPrimarySeries": { "alias": "initialPrimarySeries"; "required": false; }; "initialBucketMinutes": { "alias": "initialBucketMinutes"; "required": false; }; }, {}, never, never, true, never>;
6384
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartConfigDialogComponent, "mm-line-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialEntitySelectorId": { "alias": "initialEntitySelectorId"; "required": false; }; "initialResolutionAware": { "alias": "initialResolutionAware"; "required": false; }; "initialRequiredAggregation": { "alias": "initialRequiredAggregation"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialUnitField": { "alias": "initialUnitField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowMarkers": { "alias": "initialShowMarkers"; "required": false; }; "initialShowDataBadge": { "alias": "initialShowDataBadge"; "required": false; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialAdditionalSeries": { "alias": "initialAdditionalSeries"; "required": false; }; "initialStacked": { "alias": "initialStacked"; "required": false; }; "initialPrimarySeries": { "alias": "initialPrimarySeries"; "required": false; }; "initialBucketMinutes": { "alias": "initialBucketMinutes"; "required": false; }; "initialExcludedSeriesGroupValues": { "alias": "initialExcludedSeriesGroupValues"; "required": false; }; }, {}, never, never, true, never>;
6344
6385
  }
6345
6386
 
6346
6387
  /**