@meshmakers/octo-meshboard 3.4.200 → 3.4.210
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
|
@@ -238,6 +238,16 @@ interface PersistentQueryDataSource extends WidgetDataSource {
|
|
|
238
238
|
* Ignored for runtime queries (they don't consume `streamDataArgs`).
|
|
239
239
|
*/
|
|
240
240
|
ignoreTimeFilter?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Asset-scope binding: the `id` of an entity selector whose selection scopes
|
|
243
|
+
* this widget's stream-data query. The selector resolves its picked entity to
|
|
244
|
+
* a set of source rtIds (via its `childScope` one-hop, or the picked entity
|
|
245
|
+
* itself when no childScope is configured); those rtIds are passed as the
|
|
246
|
+
* query's `streamDataArgs.rtIds`, replacing the persisted RtIds at execution
|
|
247
|
+
* time. Absent ⇒ the query runs with its persisted scope. Ignored for runtime
|
|
248
|
+
* queries (the archive `rtIds` override is a stream-data concept).
|
|
249
|
+
*/
|
|
250
|
+
entitySelectorId?: string;
|
|
241
251
|
}
|
|
242
252
|
/**
|
|
243
253
|
* Aggregation types supported
|
|
@@ -1050,6 +1060,30 @@ interface EntitySelectorAttributeMapping {
|
|
|
1050
1060
|
/** Attribute value type for variable type mapping */
|
|
1051
1061
|
attributeValueType?: string;
|
|
1052
1062
|
}
|
|
1063
|
+
/**
|
|
1064
|
+
* One-hop association traversal that turns a selected entity into the set of
|
|
1065
|
+
* source rtIds a stream-data widget should be scoped to.
|
|
1066
|
+
*
|
|
1067
|
+
* Use case: the user picks a `MeteringPoint`, but the stream-data archive is
|
|
1068
|
+
* keyed by its child `EnergyMeasurement` rtIds. The childScope describes that
|
|
1069
|
+
* single hop (target type + association role + direction); the selected
|
|
1070
|
+
* entity's children of `targetCkTypeId` reached via `roleId` become the scope
|
|
1071
|
+
* rtIds. When a selector has no childScope, the picked entity's own rtId is the
|
|
1072
|
+
* scope (direct keying).
|
|
1073
|
+
*/
|
|
1074
|
+
interface EntitySelectorChildScope {
|
|
1075
|
+
/** CK type of the child entities that key the stream-data archive (e.g. EnergyMeasurement). */
|
|
1076
|
+
targetCkTypeId: string;
|
|
1077
|
+
/** Association role linking the selected entity to the children (e.g. "System/ParentChild"). */
|
|
1078
|
+
roleId: string;
|
|
1079
|
+
/**
|
|
1080
|
+
* Traversal direction from the selected (parent) entity to its children.
|
|
1081
|
+
* For `System/ParentChild` the child owns the association to its parent, so
|
|
1082
|
+
* the children are reached **inbound** — hence `'in'` is the default. Use
|
|
1083
|
+
* `'out'` only for custom roles modelled parent → child.
|
|
1084
|
+
*/
|
|
1085
|
+
direction?: 'in' | 'out';
|
|
1086
|
+
}
|
|
1053
1087
|
/**
|
|
1054
1088
|
* Configuration for a single entity selector in the MeshBoard toolbar.
|
|
1055
1089
|
* Each selector is bound to a CK type and populates variables from the selected entity.
|
|
@@ -1067,6 +1101,12 @@ interface EntitySelectorConfig {
|
|
|
1067
1101
|
showInToolbar?: boolean;
|
|
1068
1102
|
/** Optional pre-selected entity rtId */
|
|
1069
1103
|
defaultRtId?: string;
|
|
1104
|
+
/**
|
|
1105
|
+
* Optional one-hop traversal that resolves the picked entity to the child
|
|
1106
|
+
* source rtIds a stream-data widget scopes by. Absent ⇒ the picked entity's
|
|
1107
|
+
* own rtId is the scope. See {@link EntitySelectorChildScope}.
|
|
1108
|
+
*/
|
|
1109
|
+
childScope?: EntitySelectorChildScope;
|
|
1070
1110
|
/** Current selection (transient, not persisted) */
|
|
1071
1111
|
selectedRtId?: string;
|
|
1072
1112
|
/** Display name of the currently selected entity */
|
|
@@ -1583,6 +1623,13 @@ declare class MeshBoardStateService {
|
|
|
1583
1623
|
private readonly _isLoading;
|
|
1584
1624
|
private readonly _isModelAvailable;
|
|
1585
1625
|
private readonly _variableResolutionErrors;
|
|
1626
|
+
/**
|
|
1627
|
+
* Transient cache of the source rtIds resolved from each entity selector's
|
|
1628
|
+
* current selection (keyed by selector id). Populated by the view component
|
|
1629
|
+
* when a selection resolves (one-hop childScope traversal, or the picked
|
|
1630
|
+
* entity's own rtId). Not persisted — derived fresh from each selection.
|
|
1631
|
+
*/
|
|
1632
|
+
private readonly _entitySelectorRtIds;
|
|
1586
1633
|
readonly meshBoardConfig: _angular_core.Signal<MeshBoardConfig>;
|
|
1587
1634
|
readonly persistedMeshBoardId: _angular_core.Signal<string | null>;
|
|
1588
1635
|
/** @deprecated Use existingWidgetRtIds instead */
|
|
@@ -1779,6 +1826,25 @@ declare class MeshBoardStateService {
|
|
|
1779
1826
|
from: Date;
|
|
1780
1827
|
to: Date;
|
|
1781
1828
|
} | undefined;
|
|
1829
|
+
/**
|
|
1830
|
+
* Stores the source rtIds resolved from an entity selector's current
|
|
1831
|
+
* selection. Called by the view component after a selection resolves (the
|
|
1832
|
+
* one-hop childScope traversal, or the picked entity's own rtId when the
|
|
1833
|
+
* selector has no childScope). Transient — not persisted.
|
|
1834
|
+
*/
|
|
1835
|
+
setEntitySelectorRtIds(selectorId: string, rtIds: string[]): void;
|
|
1836
|
+
/**
|
|
1837
|
+
* Clears the cached source rtIds for an entity selector (e.g. when its
|
|
1838
|
+
* selection is cleared).
|
|
1839
|
+
*/
|
|
1840
|
+
clearEntitySelectorRtIds(selectorId: string): void;
|
|
1841
|
+
/**
|
|
1842
|
+
* Resolves the stream-data `rtIds` scope for a persistent-query widget bound
|
|
1843
|
+
* to an entity selector. Returns the source rtIds cached from the selector's
|
|
1844
|
+
* current selection, or `undefined` when the selector id is absent, unknown,
|
|
1845
|
+
* or has no active selection (so the query keeps its persisted scope).
|
|
1846
|
+
*/
|
|
1847
|
+
resolveStreamDataRtIds(entitySelectorId?: string): string[] | undefined;
|
|
1782
1848
|
/**
|
|
1783
1849
|
* Updates the time filter configuration.
|
|
1784
1850
|
*/
|
|
@@ -2405,6 +2471,13 @@ interface StreamDataExecutionArgs {
|
|
|
2405
2471
|
* schema marks `queryMode` non-null. Defaults to `Default`.
|
|
2406
2472
|
*/
|
|
2407
2473
|
queryMode?: QueryModeDto;
|
|
2474
|
+
/**
|
|
2475
|
+
* Source runtime ids to scope the query to. When set, replaces the persisted
|
|
2476
|
+
* RtIds on the query at execution time — used to scope a stream-data widget to
|
|
2477
|
+
* the entities resolved from a selected asset (e.g. the EnergyMeasurement rtIds
|
|
2478
|
+
* under a picked MeteringPoint). An empty array is treated as "no scope".
|
|
2479
|
+
*/
|
|
2480
|
+
rtIds?: string[] | null;
|
|
2408
2481
|
}
|
|
2409
2482
|
interface QueryExecutionOptions {
|
|
2410
2483
|
/** Page size — passed to the GraphQL `first` variable. */
|
|
@@ -2691,6 +2764,8 @@ interface KpiConfigResult extends WidgetConfigResult {
|
|
|
2691
2764
|
queryName?: string;
|
|
2692
2765
|
queryFamily?: QueryFamily;
|
|
2693
2766
|
ignoreTimeFilter?: boolean;
|
|
2767
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
2768
|
+
entitySelectorId?: string;
|
|
2694
2769
|
queryMode?: KpiQueryMode;
|
|
2695
2770
|
queryValueField?: string;
|
|
2696
2771
|
queryCategoryField?: string;
|
|
@@ -2739,6 +2814,7 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2739
2814
|
initialQueryName?: string;
|
|
2740
2815
|
initialQueryFamily?: QueryFamily;
|
|
2741
2816
|
initialIgnoreTimeFilter?: boolean;
|
|
2817
|
+
initialEntitySelectorId?: string;
|
|
2742
2818
|
initialQueryMode?: KpiQueryMode;
|
|
2743
2819
|
initialQueryValueField?: string;
|
|
2744
2820
|
initialQueryCategoryField?: string;
|
|
@@ -2755,11 +2831,14 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2755
2831
|
selectedPersistentQuery: PersistentQueryItem | null;
|
|
2756
2832
|
/** Stream-data opt-out: when true the MeshBoard time filter is not bound to the query. */
|
|
2757
2833
|
ignoreTimeFilter: boolean;
|
|
2834
|
+
entitySelectorId?: string;
|
|
2758
2835
|
queryColumns: QueryColumnItem[];
|
|
2759
2836
|
categoryValues: CategoryValueItem[];
|
|
2760
2837
|
queryMode: KpiQueryMode;
|
|
2761
2838
|
/** Family of the currently selected query; drives the time-filter toggle's visibility. */
|
|
2762
2839
|
get selectedQueryFamily(): QueryFamily | null;
|
|
2840
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
2841
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
2763
2842
|
isLoadingQueryColumns: boolean;
|
|
2764
2843
|
isLoadingCategoryValues: boolean;
|
|
2765
2844
|
readonly isLoadingAttributes: _angular_core.WritableSignal<boolean>;
|
|
@@ -2815,7 +2894,7 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2815
2894
|
private loadCategoryValuesForField;
|
|
2816
2895
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
2817
2896
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KpiConfigDialogComponent, never>;
|
|
2818
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KpiConfigDialogComponent, "mm-kpi-config-dialog", never, { "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialRtId": { "alias": "initialRtId"; "required": false; }; "initialValueAttribute": { "alias": "initialValueAttribute"; "required": false; }; "initialLabelAttribute": { "alias": "initialLabelAttribute"; "required": false; }; "initialPrefix": { "alias": "initialPrefix"; "required": false; }; "initialSuffix": { "alias": "initialSuffix"; "required": false; }; "initialTrend": { "alias": "initialTrend"; "required": false; }; "initialComparisonText": { "alias": "initialComparisonText"; "required": false; }; "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialQueryMode": { "alias": "initialQueryMode"; "required": false; }; "initialQueryValueField": { "alias": "initialQueryValueField"; "required": false; }; "initialQueryCategoryField": { "alias": "initialQueryCategoryField"; "required": false; }; "initialQueryCategoryValue": { "alias": "initialQueryCategoryValue"; "required": false; }; "initialStaticValue": { "alias": "initialStaticValue"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
2897
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KpiConfigDialogComponent, "mm-kpi-config-dialog", never, { "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialRtId": { "alias": "initialRtId"; "required": false; }; "initialValueAttribute": { "alias": "initialValueAttribute"; "required": false; }; "initialLabelAttribute": { "alias": "initialLabelAttribute"; "required": false; }; "initialPrefix": { "alias": "initialPrefix"; "required": false; }; "initialSuffix": { "alias": "initialSuffix"; "required": false; }; "initialTrend": { "alias": "initialTrend"; "required": false; }; "initialComparisonText": { "alias": "initialComparisonText"; "required": false; }; "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "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; }; "initialQueryMode": { "alias": "initialQueryMode"; "required": false; }; "initialQueryValueField": { "alias": "initialQueryValueField"; "required": false; }; "initialQueryCategoryField": { "alias": "initialQueryCategoryField"; "required": false; }; "initialQueryCategoryValue": { "alias": "initialQueryCategoryValue"; "required": false; }; "initialStaticValue": { "alias": "initialStaticValue"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
2819
2898
|
}
|
|
2820
2899
|
|
|
2821
2900
|
interface GroupedAssociation {
|
|
@@ -3219,6 +3298,8 @@ interface TableConfigResult {
|
|
|
3219
3298
|
queryFamily?: QueryFamily;
|
|
3220
3299
|
/** Stream-data opt-out: keep the query's own time bounds, ignore the MeshBoard time filter. */
|
|
3221
3300
|
ignoreTimeFilter?: boolean;
|
|
3301
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
3302
|
+
entitySelectorId?: string;
|
|
3222
3303
|
pageSize: number;
|
|
3223
3304
|
sortable: boolean;
|
|
3224
3305
|
}
|
|
@@ -3255,6 +3336,7 @@ declare class TableConfigDialogComponent implements OnInit {
|
|
|
3255
3336
|
initialQueryName?: string;
|
|
3256
3337
|
initialQueryFamily?: QueryFamily;
|
|
3257
3338
|
initialIgnoreTimeFilter?: boolean;
|
|
3339
|
+
initialEntitySelectorId?: string;
|
|
3258
3340
|
protected readonly columnsIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
3259
3341
|
protected readonly sortIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
3260
3342
|
protected readonly filterIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
@@ -3268,7 +3350,10 @@ declare class TableConfigDialogComponent implements OnInit {
|
|
|
3268
3350
|
availableAttributes: AttributeItem[];
|
|
3269
3351
|
selectedPersistentQuery: PersistentQueryItem | null;
|
|
3270
3352
|
ignoreTimeFilter: boolean;
|
|
3353
|
+
entitySelectorId?: string;
|
|
3271
3354
|
filterVariables: FilterVariable[];
|
|
3355
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
3356
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
3272
3357
|
form: {
|
|
3273
3358
|
pageSize: number;
|
|
3274
3359
|
sortable: boolean;
|
|
@@ -3291,7 +3376,7 @@ declare class TableConfigDialogComponent implements OnInit {
|
|
|
3291
3376
|
private formatColumnTitle;
|
|
3292
3377
|
onCancel(): void;
|
|
3293
3378
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableConfigDialogComponent, never>;
|
|
3294
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableConfigDialogComponent, "mm-table-config-dialog", never, { "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialColumns": { "alias": "initialColumns"; "required": false; }; "initialSorting": { "alias": "initialSorting"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialPageSize": { "alias": "initialPageSize"; "required": false; }; "initialSortable": { "alias": "initialSortable"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; }, {}, never, never, true, never>;
|
|
3379
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableConfigDialogComponent, "mm-table-config-dialog", never, { "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialColumns": { "alias": "initialColumns"; "required": false; }; "initialSorting": { "alias": "initialSorting"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialPageSize": { "alias": "initialPageSize"; "required": false; }; "initialSortable": { "alias": "initialSortable"; "required": false; }; "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; }; }, {}, never, never, true, never>;
|
|
3295
3380
|
}
|
|
3296
3381
|
|
|
3297
3382
|
declare class GaugeWidgetComponent implements DashboardWidget<GaugeWidgetConfig, RuntimeEntityData>, OnInit, OnChanges {
|
|
@@ -3354,6 +3439,8 @@ interface GaugeConfigResult extends WidgetConfigResult {
|
|
|
3354
3439
|
queryName?: string;
|
|
3355
3440
|
queryFamily?: QueryFamily;
|
|
3356
3441
|
ignoreTimeFilter?: boolean;
|
|
3442
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
3443
|
+
entitySelectorId?: string;
|
|
3357
3444
|
queryMode?: KpiQueryMode;
|
|
3358
3445
|
queryValueField?: string;
|
|
3359
3446
|
queryCategoryField?: string;
|
|
@@ -3410,6 +3497,7 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3410
3497
|
initialQueryName?: string;
|
|
3411
3498
|
initialQueryFamily?: QueryFamily;
|
|
3412
3499
|
initialIgnoreTimeFilter?: boolean;
|
|
3500
|
+
initialEntitySelectorId?: string;
|
|
3413
3501
|
initialQueryMode?: KpiQueryMode;
|
|
3414
3502
|
initialQueryValueField?: string;
|
|
3415
3503
|
initialQueryCategoryField?: string;
|
|
@@ -3424,11 +3512,14 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3424
3512
|
selectedPersistentQuery: PersistentQueryItem | null;
|
|
3425
3513
|
/** Stream-data opt-out: when true the MeshBoard time filter is not bound to the query. */
|
|
3426
3514
|
ignoreTimeFilter: boolean;
|
|
3515
|
+
entitySelectorId?: string;
|
|
3427
3516
|
queryColumns: QueryColumnItem[];
|
|
3428
3517
|
categoryValues: CategoryValueItem[];
|
|
3429
3518
|
queryMode: KpiQueryMode;
|
|
3430
3519
|
/** Family of the currently selected query; drives the time-filter toggle's visibility. */
|
|
3431
3520
|
get selectedQueryFamily(): QueryFamily | null;
|
|
3521
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
3522
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
3432
3523
|
isLoadingQueryColumns: boolean;
|
|
3433
3524
|
isLoadingCategoryValues: boolean;
|
|
3434
3525
|
readonly isLoadingAttributes: _angular_core.WritableSignal<boolean>;
|
|
@@ -3487,7 +3578,7 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3487
3578
|
private loadCategoryValuesForField;
|
|
3488
3579
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3489
3580
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GaugeConfigDialogComponent, never>;
|
|
3490
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GaugeConfigDialogComponent, "mm-gauge-config-dialog", never, { "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialRtId": { "alias": "initialRtId"; "required": false; }; "initialGaugeType": { "alias": "initialGaugeType"; "required": false; }; "initialValueAttribute": { "alias": "initialValueAttribute"; "required": false; }; "initialLabelAttribute": { "alias": "initialLabelAttribute"; "required": false; }; "initialMin": { "alias": "initialMin"; "required": false; }; "initialMax": { "alias": "initialMax"; "required": false; }; "initialRanges": { "alias": "initialRanges"; "required": false; }; "initialShowLabel": { "alias": "initialShowLabel"; "required": false; }; "initialPrefix": { "alias": "initialPrefix"; "required": false; }; "initialSuffix": { "alias": "initialSuffix"; "required": false; }; "initialReverse": { "alias": "initialReverse"; "required": false; }; "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialQueryMode": { "alias": "initialQueryMode"; "required": false; }; "initialQueryValueField": { "alias": "initialQueryValueField"; "required": false; }; "initialQueryCategoryField": { "alias": "initialQueryCategoryField"; "required": false; }; "initialQueryCategoryValue": { "alias": "initialQueryCategoryValue"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3581
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GaugeConfigDialogComponent, "mm-gauge-config-dialog", never, { "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialRtId": { "alias": "initialRtId"; "required": false; }; "initialGaugeType": { "alias": "initialGaugeType"; "required": false; }; "initialValueAttribute": { "alias": "initialValueAttribute"; "required": false; }; "initialLabelAttribute": { "alias": "initialLabelAttribute"; "required": false; }; "initialMin": { "alias": "initialMin"; "required": false; }; "initialMax": { "alias": "initialMax"; "required": false; }; "initialRanges": { "alias": "initialRanges"; "required": false; }; "initialShowLabel": { "alias": "initialShowLabel"; "required": false; }; "initialPrefix": { "alias": "initialPrefix"; "required": false; }; "initialSuffix": { "alias": "initialSuffix"; "required": false; }; "initialReverse": { "alias": "initialReverse"; "required": false; }; "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "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; }; "initialQueryMode": { "alias": "initialQueryMode"; "required": false; }; "initialQueryValueField": { "alias": "initialQueryValueField"; "required": false; }; "initialQueryCategoryField": { "alias": "initialQueryCategoryField"; "required": false; }; "initialQueryCategoryValue": { "alias": "initialQueryCategoryValue"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3491
3582
|
}
|
|
3492
3583
|
|
|
3493
3584
|
/**
|
|
@@ -3566,6 +3657,8 @@ interface PieChartConfigResult extends WidgetConfigResult {
|
|
|
3566
3657
|
queryName?: string;
|
|
3567
3658
|
queryFamily?: QueryFamily;
|
|
3568
3659
|
ignoreTimeFilter?: boolean;
|
|
3660
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
3661
|
+
entitySelectorId?: string;
|
|
3569
3662
|
categoryField: string;
|
|
3570
3663
|
valueField: string;
|
|
3571
3664
|
ckQueryTarget?: CkQueryTarget;
|
|
@@ -3590,6 +3683,7 @@ declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
|
3590
3683
|
initialQueryName?: string;
|
|
3591
3684
|
initialQueryFamily?: QueryFamily;
|
|
3592
3685
|
initialIgnoreTimeFilter?: boolean;
|
|
3686
|
+
initialEntitySelectorId?: string;
|
|
3593
3687
|
initialChartType?: PieChartType;
|
|
3594
3688
|
initialCategoryField?: string;
|
|
3595
3689
|
initialValueField?: string;
|
|
@@ -3618,6 +3712,7 @@ declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
|
3618
3712
|
selectedPersistentQuery: PersistentQueryItem | null;
|
|
3619
3713
|
/** Stream-data opt-out: when true the MeshBoard time filter is not bound to the query. */
|
|
3620
3714
|
ignoreTimeFilter: boolean;
|
|
3715
|
+
entitySelectorId?: string;
|
|
3621
3716
|
queryColumns: QueryColumnItem[];
|
|
3622
3717
|
filters: FieldFilterItem[];
|
|
3623
3718
|
filterVariables: FilterVariable[];
|
|
@@ -3638,6 +3733,8 @@ declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
|
3638
3733
|
get isValid(): boolean;
|
|
3639
3734
|
/** Family of the currently selected query; drives the time-filter toggle's visibility. */
|
|
3640
3735
|
get selectedQueryFamily(): QueryFamily | null;
|
|
3736
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
3737
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
3641
3738
|
ngOnInit(): Promise<void>;
|
|
3642
3739
|
ngAfterViewInit(): Promise<void>;
|
|
3643
3740
|
onDataSourceTypeChange(dataSourceType: DataSourceType): void;
|
|
@@ -3655,7 +3752,7 @@ declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
|
3655
3752
|
onSave(): void;
|
|
3656
3753
|
onCancel(): void;
|
|
3657
3754
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieChartConfigDialogComponent, never>;
|
|
3658
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieChartConfigDialogComponent, "mm-pie-chart-config-dialog", never, { "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialShowLabels": { "alias": "initialShowLabels"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialCkQueryTarget": { "alias": "initialCkQueryTarget"; "required": false; }; "initialCkGroupBy": { "alias": "initialCkGroupBy"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3755
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieChartConfigDialogComponent, "mm-pie-chart-config-dialog", never, { "initialDataSourceType": { "alias": "initialDataSourceType"; "required": false; }; "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; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialShowLabels": { "alias": "initialShowLabels"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialCkQueryTarget": { "alias": "initialCkQueryTarget"; "required": false; }; "initialCkGroupBy": { "alias": "initialCkGroupBy"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3659
3756
|
}
|
|
3660
3757
|
|
|
3661
3758
|
/**
|
|
@@ -3762,6 +3859,8 @@ interface BarChartConfigResult extends WidgetConfigResult {
|
|
|
3762
3859
|
queryName?: string;
|
|
3763
3860
|
queryFamily?: QueryFamily;
|
|
3764
3861
|
ignoreTimeFilter?: boolean;
|
|
3862
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
3863
|
+
entitySelectorId?: string;
|
|
3765
3864
|
chartType: BarChartType;
|
|
3766
3865
|
categoryField: string;
|
|
3767
3866
|
series: BarChartSeries[];
|
|
@@ -3790,6 +3889,7 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3790
3889
|
initialQueryName?: string;
|
|
3791
3890
|
initialQueryFamily?: QueryFamily;
|
|
3792
3891
|
initialIgnoreTimeFilter?: boolean;
|
|
3892
|
+
initialEntitySelectorId?: string;
|
|
3793
3893
|
initialChartType?: BarChartType;
|
|
3794
3894
|
initialCategoryField?: string;
|
|
3795
3895
|
initialSeries?: BarChartSeries[];
|
|
@@ -3808,6 +3908,10 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3808
3908
|
numericColumns: QueryColumnItem[];
|
|
3809
3909
|
/** Per-widget opt-out of the MeshBoard time-filter → stream-data binding. */
|
|
3810
3910
|
ignoreTimeFilter: boolean;
|
|
3911
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
3912
|
+
entitySelectorId?: string;
|
|
3913
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
3914
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
3811
3915
|
/** Family of the currently selected query — gates the time-filter opt-out toggle. */
|
|
3812
3916
|
get selectedQueryFamily(): QueryFamily | null;
|
|
3813
3917
|
filters: FieldFilterItem[];
|
|
@@ -3851,7 +3955,7 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3851
3955
|
removeColorThreshold(index: number): void;
|
|
3852
3956
|
onCancel(): void;
|
|
3853
3957
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartConfigDialogComponent, never>;
|
|
3854
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartConfigDialogComponent, "mm-bar-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeries": { "alias": "initialSeries"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowDataLabels": { "alias": "initialShowDataLabels"; "required": false; }; "initialColorThresholds": { "alias": "initialColorThresholds"; "required": false; }; "initialDefaultBarColor": { "alias": "initialDefaultBarColor"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3958
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartConfigDialogComponent, "mm-bar-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; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeries": { "alias": "initialSeries"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowDataLabels": { "alias": "initialShowDataLabels"; "required": false; }; "initialColorThresholds": { "alias": "initialColorThresholds"; "required": false; }; "initialDefaultBarColor": { "alias": "initialDefaultBarColor"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
3855
3959
|
}
|
|
3856
3960
|
|
|
3857
3961
|
/**
|
|
@@ -3860,8 +3964,14 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3860
3964
|
interface LineSeriesData {
|
|
3861
3965
|
name: string;
|
|
3862
3966
|
data: (number | null)[];
|
|
3967
|
+
/** min/max envelope per category (downsampling only); rendered as a rangeArea band. */
|
|
3968
|
+
band?: ({
|
|
3969
|
+
from: number;
|
|
3970
|
+
to: number;
|
|
3971
|
+
} | null)[];
|
|
3863
3972
|
unit?: string;
|
|
3864
3973
|
axisName?: string;
|
|
3974
|
+
color?: string;
|
|
3865
3975
|
}
|
|
3866
3976
|
/**
|
|
3867
3977
|
* Value axis configuration
|
|
@@ -3871,8 +3981,14 @@ interface ValueAxisConfig {
|
|
|
3871
3981
|
unit: string;
|
|
3872
3982
|
position: 'left' | 'right';
|
|
3873
3983
|
}
|
|
3874
|
-
declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidgetConfig, LineSeriesData[]>,
|
|
3984
|
+
declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidgetConfig, LineSeriesData[]>, AfterViewInit, OnChanges, OnDestroy {
|
|
3875
3985
|
private readonly queryExecutor;
|
|
3986
|
+
private readonly elementRef;
|
|
3987
|
+
private readonly ngZone;
|
|
3988
|
+
private resizeObserver?;
|
|
3989
|
+
private resizeTimer?;
|
|
3990
|
+
/** The downsampling `limit` used by the last load; 0 when the last load wasn't downsampled. */
|
|
3991
|
+
private lastLimit;
|
|
3876
3992
|
private static readonly SUPPORTED_ROW_TYPES;
|
|
3877
3993
|
private readonly stateService;
|
|
3878
3994
|
private readonly variableService;
|
|
@@ -3883,11 +3999,17 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3883
3999
|
private readonly _valueAxes;
|
|
3884
4000
|
private readonly _error;
|
|
3885
4001
|
private readonly _seriesUnitMap;
|
|
4002
|
+
private readonly _dataInfo;
|
|
3886
4003
|
readonly isLoading: _angular_core.Signal<boolean>;
|
|
3887
4004
|
readonly categories: _angular_core.Signal<string[]>;
|
|
3888
4005
|
readonly seriesData: _angular_core.Signal<LineSeriesData[]>;
|
|
3889
4006
|
readonly valueAxes: _angular_core.Signal<ValueAxisConfig[]>;
|
|
3890
4007
|
readonly error: _angular_core.Signal<string | null>;
|
|
4008
|
+
readonly dataInfo: _angular_core.Signal<{
|
|
4009
|
+
rows: number;
|
|
4010
|
+
points: number;
|
|
4011
|
+
total: number;
|
|
4012
|
+
} | null>;
|
|
3891
4013
|
readonly data: _angular_core.Signal<LineSeriesData[]>;
|
|
3892
4014
|
readonly plotBands: _angular_core.Signal<{
|
|
3893
4015
|
from: number;
|
|
@@ -3919,7 +4041,15 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3919
4041
|
categoryLabelContent: (e: {
|
|
3920
4042
|
value: string;
|
|
3921
4043
|
}) => string;
|
|
3922
|
-
|
|
4044
|
+
ngAfterViewInit(): void;
|
|
4045
|
+
ngOnDestroy(): void;
|
|
4046
|
+
/**
|
|
4047
|
+
* FE-2: when the chart is resized so the pixel-derived bucket count would change materially
|
|
4048
|
+
* (>15%), re-query at the new resolution after a 300 ms debounce. Only relevant while
|
|
4049
|
+
* downsampling is active (lastLimit > 0); raw charts don't depend on width.
|
|
4050
|
+
*/
|
|
4051
|
+
private setupResizeObserver;
|
|
4052
|
+
private onResize;
|
|
3923
4053
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3924
4054
|
refresh(): void;
|
|
3925
4055
|
hasValidConfig(): boolean;
|
|
@@ -3927,6 +4057,11 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3927
4057
|
getUnitForSeries(seriesName: string): string;
|
|
3928
4058
|
private loadData;
|
|
3929
4059
|
private buildStreamDataArgs;
|
|
4060
|
+
/**
|
|
4061
|
+
* Bucket count for backend downsampling, sized to the rendered width (~1 bucket / 2 px),
|
|
4062
|
+
* clamped to [50, 4000]. Falls back to 1500 before the host has a measured width.
|
|
4063
|
+
*/
|
|
4064
|
+
private computeDownsampleLimit;
|
|
3930
4065
|
/**
|
|
3931
4066
|
* Processes query rows into line chart data.
|
|
3932
4067
|
* Groups by seriesGroupField, orders by categoryField (date), supports multi-axis by unitField.
|
|
@@ -3941,6 +4076,8 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3941
4076
|
*/
|
|
3942
4077
|
private formatDateTime;
|
|
3943
4078
|
private sanitizeAxisName;
|
|
4079
|
+
/** Parses a cell value to a number, or null when missing / non-numeric (renders as a gap). */
|
|
4080
|
+
private toNumber;
|
|
3944
4081
|
private convertFiltersToDto;
|
|
3945
4082
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartWidgetComponent, never>;
|
|
3946
4083
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartWidgetComponent, "mm-line-chart-widget", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -3954,6 +4091,8 @@ interface LineChartConfigResult extends WidgetConfigResult {
|
|
|
3954
4091
|
queryName?: string;
|
|
3955
4092
|
queryFamily?: QueryFamily;
|
|
3956
4093
|
ignoreTimeFilter?: boolean;
|
|
4094
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
4095
|
+
entitySelectorId?: string;
|
|
3957
4096
|
chartType: LineChartType;
|
|
3958
4097
|
categoryField: string;
|
|
3959
4098
|
seriesGroupField: string;
|
|
@@ -3979,6 +4118,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
|
|
|
3979
4118
|
initialQueryName?: string;
|
|
3980
4119
|
initialQueryFamily?: QueryFamily;
|
|
3981
4120
|
initialIgnoreTimeFilter?: boolean;
|
|
4121
|
+
initialEntitySelectorId?: string;
|
|
3982
4122
|
initialChartType?: LineChartType;
|
|
3983
4123
|
initialCategoryField?: string;
|
|
3984
4124
|
initialSeriesGroupField?: string;
|
|
@@ -3997,6 +4137,10 @@ declare class LineChartConfigDialogComponent implements OnInit {
|
|
|
3997
4137
|
nonNumericColumns: QueryColumnItem[];
|
|
3998
4138
|
/** Per-widget opt-out of the MeshBoard time-filter → stream-data binding. */
|
|
3999
4139
|
ignoreTimeFilter: boolean;
|
|
4140
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
4141
|
+
entitySelectorId?: string;
|
|
4142
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
4143
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
4000
4144
|
/** Family of the currently selected query — gates the time-filter opt-out toggle. */
|
|
4001
4145
|
get selectedQueryFamily(): QueryFamily | null;
|
|
4002
4146
|
filters: FieldFilterItem[];
|
|
@@ -4032,7 +4176,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
|
|
|
4032
4176
|
removeReferenceLine(index: number): void;
|
|
4033
4177
|
onCancel(): void;
|
|
4034
4178
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartConfigDialogComponent, never>;
|
|
4035
|
-
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; }; "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; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
4179
|
+
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; }; "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; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
4036
4180
|
}
|
|
4037
4181
|
|
|
4038
4182
|
/**
|
|
@@ -4129,6 +4273,8 @@ interface HeatmapConfigResult extends WidgetConfigResult {
|
|
|
4129
4273
|
queryName?: string;
|
|
4130
4274
|
queryFamily?: QueryFamily;
|
|
4131
4275
|
ignoreTimeFilter?: boolean;
|
|
4276
|
+
/** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
|
|
4277
|
+
entitySelectorId?: string;
|
|
4132
4278
|
dateField: string;
|
|
4133
4279
|
dateEndField?: string;
|
|
4134
4280
|
valueField?: string;
|
|
@@ -4151,6 +4297,7 @@ declare class HeatmapConfigDialogComponent implements OnInit {
|
|
|
4151
4297
|
initialQueryName?: string;
|
|
4152
4298
|
initialQueryFamily?: QueryFamily;
|
|
4153
4299
|
initialIgnoreTimeFilter?: boolean;
|
|
4300
|
+
initialEntitySelectorId?: string;
|
|
4154
4301
|
initialDateField?: string;
|
|
4155
4302
|
initialDateEndField?: string;
|
|
4156
4303
|
initialValueField?: string;
|
|
@@ -4166,6 +4313,7 @@ declare class HeatmapConfigDialogComponent implements OnInit {
|
|
|
4166
4313
|
isLoadingColumns: boolean;
|
|
4167
4314
|
selectedPersistentQuery: PersistentQueryItem | null;
|
|
4168
4315
|
ignoreTimeFilter: boolean;
|
|
4316
|
+
entitySelectorId?: string;
|
|
4169
4317
|
queryColumns: QueryColumnItem[];
|
|
4170
4318
|
numericColumns: QueryColumnItem[];
|
|
4171
4319
|
dateTimeColumns: QueryColumnItem[];
|
|
@@ -4201,6 +4349,8 @@ declare class HeatmapConfigDialogComponent implements OnInit {
|
|
|
4201
4349
|
valueMultiplier: number;
|
|
4202
4350
|
};
|
|
4203
4351
|
get isValid(): boolean;
|
|
4352
|
+
/** Entity selectors available on the current MeshBoard (for the scope picker). */
|
|
4353
|
+
get availableEntitySelectors(): EntitySelectorConfig[];
|
|
4204
4354
|
get selectedQueryFamily(): QueryFamily | null;
|
|
4205
4355
|
ngOnInit(): Promise<void>;
|
|
4206
4356
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
@@ -4215,7 +4365,7 @@ declare class HeatmapConfigDialogComponent implements OnInit {
|
|
|
4215
4365
|
onSave(): void;
|
|
4216
4366
|
onCancel(): void;
|
|
4217
4367
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeatmapConfigDialogComponent, never>;
|
|
4218
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeatmapConfigDialogComponent, "mm-heatmap-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialDateField": { "alias": "initialDateField"; "required": false; }; "initialDateEndField": { "alias": "initialDateEndField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialAggregation": { "alias": "initialAggregation"; "required": false; }; "initialColorScheme": { "alias": "initialColorScheme"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialDecimalPlaces": { "alias": "initialDecimalPlaces"; "required": false; }; "initialCompactNumbers": { "alias": "initialCompactNumbers"; "required": false; }; "initialValueMultiplier": { "alias": "initialValueMultiplier"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
4368
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeatmapConfigDialogComponent, "mm-heatmap-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; }; "initialDateField": { "alias": "initialDateField"; "required": false; }; "initialDateEndField": { "alias": "initialDateEndField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialAggregation": { "alias": "initialAggregation"; "required": false; }; "initialColorScheme": { "alias": "initialColorScheme"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialDecimalPlaces": { "alias": "initialDecimalPlaces"; "required": false; }; "initialCompactNumbers": { "alias": "initialCompactNumbers"; "required": false; }; "initialValueMultiplier": { "alias": "initialValueMultiplier"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
|
|
4219
4369
|
}
|
|
4220
4370
|
|
|
4221
4371
|
interface StatValue {
|
|
@@ -5172,6 +5322,10 @@ declare class EntitySelectorEditorComponent {
|
|
|
5172
5322
|
protected editMappings: EntitySelectorAttributeMapping[];
|
|
5173
5323
|
protected editShowInToolbar: boolean;
|
|
5174
5324
|
protected editDefaultRtId: string;
|
|
5325
|
+
protected editChildScopeTargetCkTypeId: string;
|
|
5326
|
+
protected editChildScopeTargetCkTypeItem: CkTypeSelectorItem | null;
|
|
5327
|
+
protected editChildScopeRoleId: string;
|
|
5328
|
+
protected editChildScopeDirection: 'in' | 'out';
|
|
5175
5329
|
protected defaultEntityDataSource: RuntimeEntitySelectDataSource$1 | null;
|
|
5176
5330
|
protected defaultEntityDialogDataSource: RuntimeEntityDialogDataSource$1 | null;
|
|
5177
5331
|
/**
|
|
@@ -5198,6 +5352,14 @@ declare class EntitySelectorEditorComponent {
|
|
|
5198
5352
|
* Opens the attribute selector dialog to pick attributes for variable mappings.
|
|
5199
5353
|
*/
|
|
5200
5354
|
selectAttributes(): Promise<void>;
|
|
5355
|
+
/**
|
|
5356
|
+
* Handles child-scope target CK type selection.
|
|
5357
|
+
*/
|
|
5358
|
+
onChildScopeCkTypeSelected(ckType: CkTypeSelectorItem): void;
|
|
5359
|
+
/**
|
|
5360
|
+
* Handles child-scope target CK type cleared.
|
|
5361
|
+
*/
|
|
5362
|
+
onChildScopeCkTypeCleared(): void;
|
|
5201
5363
|
/**
|
|
5202
5364
|
* Handles default entity selection from the entity picker.
|
|
5203
5365
|
*/
|
|
@@ -5626,6 +5788,16 @@ declare class MeshBoardViewComponent implements OnInit, OnDestroy, HasUnsavedCha
|
|
|
5626
5788
|
* Resolves variables for an entity selector by fetching entity attributes.
|
|
5627
5789
|
*/
|
|
5628
5790
|
private resolveEntitySelectorVariables;
|
|
5791
|
+
/**
|
|
5792
|
+
* Resolves the set of source rtIds that a stream-data widget bound to this
|
|
5793
|
+
* selector should be scoped to, and caches them on the state service.
|
|
5794
|
+
*
|
|
5795
|
+
* When the selector defines a {@link EntitySelectorChildScope}, the picked
|
|
5796
|
+
* entity's children of `targetCkTypeId` reached via `roleId`/`direction`
|
|
5797
|
+
* become the scope (e.g. MeteringPoint → its EnergyMeasurement rtIds). With
|
|
5798
|
+
* no childScope, the picked entity's own rtId is the scope (direct keying).
|
|
5799
|
+
*/
|
|
5800
|
+
private resolveEntitySelectorScopeRtIds;
|
|
5629
5801
|
/**
|
|
5630
5802
|
* Writes entity selector selections to URL query parameters.
|
|
5631
5803
|
* Format: es_<selectorId>=<rtId>
|
|
@@ -5904,4 +6076,4 @@ declare class MeshBoardManagerDialogComponent implements OnInit {
|
|
|
5904
6076
|
}
|
|
5905
6077
|
|
|
5906
6078
|
export { AddWidgetDialogComponent, AiInsightsConfigDialogComponent, AiInsightsService, AiInsightsWidgetComponent, AlertBannerConfigDialogComponent, AlertBannerWidgetComponent, AlertListConfigDialogComponent, AlertListWidgetComponent, AssociationsConfigDialogComponent, AutoRefreshTimerService, BarChartConfigDialogComponent, BarChartWidgetComponent, DashboardDataService, DashboardGridService, EditModeStateService, EditWidgetDialogComponent, EntityAssociationsWidgetComponent, EntityCardConfigDialogComponent, EntityCardWidgetComponent, EntityDetailDialogComponent, EntitySelectorEditorComponent, EntitySelectorToolbarComponent, GaugeConfigDialogComponent, GaugeWidgetComponent, HeatmapConfigDialogComponent, HeatmapWidgetComponent, KpiConfigDialogComponent, KpiWidgetComponent, LineChartConfigDialogComponent, LineChartWidgetComponent, MESHBOARD_OPTIONS, MESHBOARD_TENANT_ID_PROVIDER, MarkdownConfigDialogComponent, MarkdownWidgetComponent, MeshBoardDataService, MeshBoardGridService, MeshBoardManagerDialogComponent, MeshBoardPersistenceService, MeshBoardSettingsDialogComponent, MeshBoardSettingsResult, MeshBoardStateService, MeshBoardViewComponent, PieChartConfigDialogComponent, PieChartWidgetComponent, QueryExecutorService, QuerySelectorComponent, RuntimeEntitySelectorComponent, ServiceHealthConfigDialogComponent, ServiceHealthWidgetComponent, StatsGridConfigDialogComponent, StatsGridWidgetComponent, StatusIndicatorConfigDialogComponent, StatusIndicatorWidgetComponent, StatusListConfigDialogComponent, StatusListWidgetComponent, SummaryCardConfigDialogComponent, SummaryCardWidgetComponent, TableConfigDialogComponent, TableWidgetComponent, TableWidgetDataSourceDirective, WidgetFactoryService, WidgetGroupComponent, WidgetGroupConfigDialogComponent, WidgetNotConfiguredComponent, WidgetRegistryService, classifyQuery, provideDefaultWidgets, provideMeshBoard, provideProcessWidget, provideWidgetRegistrations, queryFamily, registerDefaultWidgets, registerProcessWidget };
|
|
5907
|
-
export type { AggregationDataSource, AggregationQuery, AggregationType, AiInsightsConfigResult, AiInsightsWidgetConfig, AlertBannerConfigResult, AlertBannerWidgetConfig, AlertListConfigResult, AlertListWidgetConfig, AnyWidgetConfig, AssociationsConfigResult, BarChartColorThreshold, BarChartConfigResult, BarChartSeries, BarChartType, BarChartWidgetConfig, BaseWidgetConfig, CategoryValueItem, ChartReferenceLine, CkQueryResult, CkQueryTarget, CkTypeAttributeInfo, ConfigDialogResult, ConfigResultApplier, ConstructionKitQueryDataSource, DashboardConfig, DashboardWidget, DataSource, DataSourceType, DiagramPropertyMapping, EntityAssociation, EntityAttribute, EntityCardConfigResult, EntityCardWidgetConfig, EntityListWidget, EntitySelectorAttributeMapping, EntitySelectorClearEvent, EntitySelectorConfig, EntitySelectorEvent, EntityWidget, EntityWithAssociationsWidgetConfig, GaugeConfigResult, GaugeRange, GaugeType, GaugeWidgetConfig, GridCell, GridPosition, GroupChildWidgetType, GroupedDataItem, HeatmapAggregation, HeatmapColorScheme, HeatmapConfigResult, HeatmapWidgetConfig, KpiConfigResult, KpiDataSourceType, KpiQueryMode, KpiWidgetConfig, LineChartConfigResult, LineChartType, LineChartWidgetConfig, MarkdownConfigResult, MarkdownTextAlign, MarkdownWidgetConfig, MeshBoardConfig, MeshBoardOptions, MeshBoardTimeFilterConfig, MeshBoardVariable, MeshBoardVariableSource, MeshBoardVariableType, ParentAssociationMode, PersistedDashboard, PersistedMeshBoard, PersistedWidget, PersistedWidgetData, PersistentQueryDataSource, PersistentQueryItem, PieChartConfigResult, PieChartType, PieChartWidgetConfig, ProcessWidgetConfig, Quarter, QueryCell, QueryClassification, QueryColumn, QueryColumnInfo, QueryColumnItem, QueryExecutionOptions, QueryExecutionResult, QueryFamily, QueryKind, QueryResultRow, RelativeTimeUnit, RepeaterDataItem, RepeaterQueryDataSource, RuntimeEntityData, RuntimeEntityDataSource, RuntimeEntitySelectorValue, ServiceCallDataSource, ServiceCallType, ServiceHealthConfigResult, ServiceHealthWidgetConfig, StatColor, StatItem, StaticDataSource, StatsGridConfigResult, StatsGridWidgetConfig, StatusIndicatorConfigResult, StatusIndicatorWidgetConfig, StatusListConfigResult, StatusListWidgetConfig, StreamDataExecutionArgs, SummaryCardConfigResult, SummaryCardTile, SummaryCardWidgetConfig, TableColumn, TableColumnStatusIconMapping, TableConfigResult, TableFilterConfig, TableSortConfig, TableWidgetConfig, TargetEntityWithAttributes, TimeRangePickerConfig, TimeRangeSelection, TimeRangeType, UpdateDashboardResult, VariableResolutionError, WidgetConfig, WidgetConfigDialog, WidgetConfigDialogSize, WidgetConfigResult, WidgetCreationOptions, WidgetDataSource, WidgetFilterConfig, WidgetGroupAttributeMappings, WidgetGroupChildTemplate, WidgetGroupConfig, WidgetGroupConfigResult, WidgetGroupLayout, WidgetPersistenceData, WidgetPositionUpdate, WidgetRegistration, WidgetType, WidgetZone };
|
|
6079
|
+
export type { AggregationDataSource, AggregationQuery, AggregationType, AiInsightsConfigResult, AiInsightsWidgetConfig, AlertBannerConfigResult, AlertBannerWidgetConfig, AlertListConfigResult, AlertListWidgetConfig, AnyWidgetConfig, AssociationsConfigResult, BarChartColorThreshold, BarChartConfigResult, BarChartSeries, BarChartType, BarChartWidgetConfig, BaseWidgetConfig, CategoryValueItem, ChartReferenceLine, CkQueryResult, CkQueryTarget, CkTypeAttributeInfo, ConfigDialogResult, ConfigResultApplier, ConstructionKitQueryDataSource, DashboardConfig, DashboardWidget, DataSource, DataSourceType, DiagramPropertyMapping, EntityAssociation, EntityAttribute, EntityCardConfigResult, EntityCardWidgetConfig, EntityListWidget, EntitySelectorAttributeMapping, EntitySelectorChildScope, EntitySelectorClearEvent, EntitySelectorConfig, EntitySelectorEvent, EntityWidget, EntityWithAssociationsWidgetConfig, GaugeConfigResult, GaugeRange, GaugeType, GaugeWidgetConfig, GridCell, GridPosition, GroupChildWidgetType, GroupedDataItem, HeatmapAggregation, HeatmapColorScheme, HeatmapConfigResult, HeatmapWidgetConfig, KpiConfigResult, KpiDataSourceType, KpiQueryMode, KpiWidgetConfig, LineChartConfigResult, LineChartType, LineChartWidgetConfig, MarkdownConfigResult, MarkdownTextAlign, MarkdownWidgetConfig, MeshBoardConfig, MeshBoardOptions, MeshBoardTimeFilterConfig, MeshBoardVariable, MeshBoardVariableSource, MeshBoardVariableType, ParentAssociationMode, PersistedDashboard, PersistedMeshBoard, PersistedWidget, PersistedWidgetData, PersistentQueryDataSource, PersistentQueryItem, PieChartConfigResult, PieChartType, PieChartWidgetConfig, ProcessWidgetConfig, Quarter, QueryCell, QueryClassification, QueryColumn, QueryColumnInfo, QueryColumnItem, QueryExecutionOptions, QueryExecutionResult, QueryFamily, QueryKind, QueryResultRow, RelativeTimeUnit, RepeaterDataItem, RepeaterQueryDataSource, RuntimeEntityData, RuntimeEntityDataSource, RuntimeEntitySelectorValue, ServiceCallDataSource, ServiceCallType, ServiceHealthConfigResult, ServiceHealthWidgetConfig, StatColor, StatItem, StaticDataSource, StatsGridConfigResult, StatsGridWidgetConfig, StatusIndicatorConfigResult, StatusIndicatorWidgetConfig, StatusListConfigResult, StatusListWidgetConfig, StreamDataExecutionArgs, SummaryCardConfigResult, SummaryCardTile, SummaryCardWidgetConfig, TableColumn, TableColumnStatusIconMapping, TableConfigResult, TableFilterConfig, TableSortConfig, TableWidgetConfig, TargetEntityWithAttributes, TimeRangePickerConfig, TimeRangeSelection, TimeRangeType, UpdateDashboardResult, VariableResolutionError, WidgetConfig, WidgetConfigDialog, WidgetConfigDialogSize, WidgetConfigResult, WidgetCreationOptions, WidgetDataSource, WidgetFilterConfig, WidgetGroupAttributeMappings, WidgetGroupChildTemplate, WidgetGroupConfig, WidgetGroupConfigResult, WidgetGroupLayout, WidgetPersistenceData, WidgetPositionUpdate, WidgetRegistration, WidgetType, WidgetZone };
|