@meshmakers/octo-meshboard 3.4.160 → 3.4.180
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.
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ProcessWidgetSpecificConfig } from '@meshmakers/octo-process-diagrams';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { Signal, AfterViewInit,
|
|
3
|
+
import { Signal, AfterViewInit, OnChanges, EventEmitter, SimpleChanges, Type, OnInit, OnDestroy, EnvironmentProviders, InjectionToken } from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import * as i1 from '@meshmakers/shared-ui';
|
|
6
|
-
import { EntitySelectDialogDataSource, ColumnDefinition, DialogFetchOptions, DialogFetchResult, EntitySelectInputComponent, FetchDataOptions, FetchResultTyped, TableColumn as TableColumn$1, HasUnsavedChanges, TimeRangePickerLabels, TimeRangeSelection as TimeRangeSelection$1
|
|
6
|
+
import { EntitySelectDialogDataSource, ColumnDefinition, DialogFetchOptions, DialogFetchResult, EntitySelectInputComponent, TimeRange, FetchDataOptions, FetchResultTyped, TableColumn as TableColumn$1, HasUnsavedChanges, TimeRangePickerLabels, TimeRangeSelection as TimeRangeSelection$1 } from '@meshmakers/shared-ui';
|
|
7
7
|
import { Observable, Subject } from 'rxjs';
|
|
8
8
|
import { EntitySelectDataSource, EntitySelectResult } from '@meshmakers/shared-services';
|
|
9
9
|
import * as _meshmakers_octo_services from '@meshmakers/octo-services';
|
|
10
|
-
import { Exact, InputMaybe, Scalars, SearchFilterDto, FieldFilterDto, SortDto, CkTypeSelectorItem, RuntimeEntityItem as RuntimeEntityItem$1, RuntimeEntitySelectDataSource as RuntimeEntitySelectDataSource$1, RuntimeEntityDialogDataSource as RuntimeEntityDialogDataSource$1, AttributeItem, TenantIdProvider } from '@meshmakers/octo-services';
|
|
10
|
+
import { Exact, InputMaybe, Scalars, SearchFilterDto, FieldFilterDto, SortDto, CkTypeSelectorItem, RuntimeEntityItem as RuntimeEntityItem$1, RuntimeEntitySelectDataSource as RuntimeEntitySelectDataSource$1, RuntimeEntityDialogDataSource as RuntimeEntityDialogDataSource$1, QueryModeDto, AttributeItem, TenantIdProvider } from '@meshmakers/octo-services';
|
|
11
11
|
export { RuntimeEntityDialogDataSource, RuntimeEntityItem, RuntimeEntitySelectDataSource, TENANT_ID_PROVIDER, TenantIdProvider } from '@meshmakers/octo-services';
|
|
12
12
|
import * as Apollo from 'apollo-angular';
|
|
13
13
|
import { CkTypeSelectorInputComponent, AttributeValueTypeDto, FieldFilterItem, FilterVariable, PropertyGridItem, PropertyGridConfig, OctoGraphQlDataSource, FieldFilterEditorComponent } from '@meshmakers/octo-ui';
|
|
@@ -16,6 +16,34 @@ import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
|
|
|
16
16
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
17
17
|
import { TileLayoutReorderEvent, TileLayoutResizeEvent } from '@progress/kendo-angular-layout';
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Persistent-query family classification.
|
|
21
|
+
*
|
|
22
|
+
* The query builder persists both runtime-data and stream-data queries as
|
|
23
|
+
* `systemPersistentQuery` entities. They are distinguished by the
|
|
24
|
+
* `queryCkTypeId` field, which carries a substring matching one of the
|
|
25
|
+
* known kinds below.
|
|
26
|
+
*
|
|
27
|
+
* Ordering matters: `GroupingAggregationSdQuery` contains `AggregationSdQuery`
|
|
28
|
+
* as a substring, so the grouping variant must be tested first.
|
|
29
|
+
*/
|
|
30
|
+
type QueryFamily = 'runtime' | 'streamData';
|
|
31
|
+
type QueryKind = 'simple' | 'aggregation' | 'groupingAggregation' | 'downsampling';
|
|
32
|
+
interface QueryClassification {
|
|
33
|
+
family: QueryFamily;
|
|
34
|
+
kind: QueryKind;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Classify a persistent query by its `queryCkTypeId`.
|
|
38
|
+
* Returns `null` for unknown / legacy values; callers decide how to handle them.
|
|
39
|
+
*/
|
|
40
|
+
declare function classifyQuery(queryCkTypeId: string | null | undefined): QueryClassification | null;
|
|
41
|
+
/**
|
|
42
|
+
* Convenience accessor — returns just the family ('runtime' | 'streamData')
|
|
43
|
+
* or null when the query type is unrecognised.
|
|
44
|
+
*/
|
|
45
|
+
declare function queryFamily(queryCkTypeId: string | null | undefined): QueryFamily | null;
|
|
46
|
+
|
|
19
47
|
/**
|
|
20
48
|
* Mapping from diagram exposed property to runtime data source
|
|
21
49
|
*
|
|
@@ -158,6 +186,7 @@ interface ProcessWidgetConfig extends WidgetConfig, ProcessWidgetSpecificConfig
|
|
|
158
186
|
* MeshBoard Widget Models
|
|
159
187
|
* Defines the interfaces for MeshBoard widgets and their data sources
|
|
160
188
|
*/
|
|
189
|
+
|
|
161
190
|
/**
|
|
162
191
|
* All supported data source types
|
|
163
192
|
*/
|
|
@@ -186,7 +215,13 @@ interface StaticDataSource extends WidgetDataSource {
|
|
|
186
215
|
data?: unknown;
|
|
187
216
|
}
|
|
188
217
|
/**
|
|
189
|
-
* Data source that executes a persistent query by its rtId
|
|
218
|
+
* Data source that executes a persistent query by its rtId.
|
|
219
|
+
*
|
|
220
|
+
* Both runtime-data and stream-data persistent queries are referenced through
|
|
221
|
+
* this single data-source type — switching between them is a configuration
|
|
222
|
+
* change, not a different widget. The `queryFamily` discriminator lets the
|
|
223
|
+
* widget pick the correct executor without an extra GraphQL round-trip; when
|
|
224
|
+
* absent it is derived from the query's `queryCkTypeId` at load time.
|
|
190
225
|
*/
|
|
191
226
|
interface PersistentQueryDataSource extends WidgetDataSource {
|
|
192
227
|
type: 'persistentQuery';
|
|
@@ -194,6 +229,8 @@ interface PersistentQueryDataSource extends WidgetDataSource {
|
|
|
194
229
|
queryRtId: string;
|
|
195
230
|
/** Display name of the query (for UI) */
|
|
196
231
|
queryName?: string;
|
|
232
|
+
/** Query family: 'runtime' or 'streamData'. Derived from queryCkTypeId when absent. */
|
|
233
|
+
queryFamily?: QueryFamily;
|
|
197
234
|
}
|
|
198
235
|
/**
|
|
199
236
|
* Aggregation types supported
|
|
@@ -273,6 +310,8 @@ interface RepeaterQueryDataSource extends WidgetDataSource {
|
|
|
273
310
|
queryRtId?: string;
|
|
274
311
|
/** Display name of the query (for UI) */
|
|
275
312
|
queryName?: string;
|
|
313
|
+
/** Query family for the repeater query: 'runtime' or 'streamData'. Derived from queryCkTypeId when absent. */
|
|
314
|
+
queryFamily?: QueryFamily;
|
|
276
315
|
/** Load entities by CK type (Entity Mode) */
|
|
277
316
|
ckTypeId?: string;
|
|
278
317
|
/** Filters for Entity Mode */
|
|
@@ -1044,6 +1083,12 @@ interface MeshBoardConfig {
|
|
|
1044
1083
|
timeFilter?: MeshBoardTimeFilterConfig;
|
|
1045
1084
|
/** Entity selector configurations for the toolbar */
|
|
1046
1085
|
entitySelectors?: EntitySelectorConfig[];
|
|
1086
|
+
/**
|
|
1087
|
+
* Auto-refresh interval in seconds. `undefined` or `0` disables auto-refresh.
|
|
1088
|
+
* When set, the view polls all widgets at this interval and pauses while the
|
|
1089
|
+
* tab is hidden. Stream-data and runtime widgets refresh identically.
|
|
1090
|
+
*/
|
|
1091
|
+
autoRefreshSeconds?: number;
|
|
1047
1092
|
widgets: AnyWidgetConfig[];
|
|
1048
1093
|
}
|
|
1049
1094
|
/** @deprecated Use MeshBoardConfig instead */
|
|
@@ -1105,12 +1150,22 @@ type EntityWidget = DashboardWidget<AnyWidgetConfig, RuntimeEntityData>;
|
|
|
1105
1150
|
type EntityListWidget = DashboardWidget<AnyWidgetConfig, RuntimeEntityData[]>;
|
|
1106
1151
|
|
|
1107
1152
|
/**
|
|
1108
|
-
* Persistent query item for selection in config dialogs
|
|
1153
|
+
* Persistent query item for selection in config dialogs.
|
|
1154
|
+
*
|
|
1155
|
+
* Two CK-type fields are exposed because they mean different things:
|
|
1156
|
+
* - `ckTypeId` — the persistent-query entity's own CK type (e.g.
|
|
1157
|
+
* `RtSimpleSdQuery`, `RtSimpleRtQuery`). This carries
|
|
1158
|
+
* the family marker used for runtime/stream-data
|
|
1159
|
+
* classification.
|
|
1160
|
+
* - `queryCkTypeId` — the CK type the query queries against (e.g.
|
|
1161
|
+
* `Basic.Energy/EnergyMeasurement`). Useful as a label
|
|
1162
|
+
* in pickers; NEVER use for family classification.
|
|
1109
1163
|
*/
|
|
1110
1164
|
interface PersistentQueryItem {
|
|
1111
1165
|
rtId: string;
|
|
1112
1166
|
name: string;
|
|
1113
1167
|
description?: string | null;
|
|
1168
|
+
ckTypeId?: string | null;
|
|
1114
1169
|
queryCkTypeId?: string | null;
|
|
1115
1170
|
}
|
|
1116
1171
|
/**
|
|
@@ -1170,22 +1225,24 @@ declare class GetSystemPersistentQueriesDtoGQL extends Apollo.Query<GetSystemPer
|
|
|
1170
1225
|
|
|
1171
1226
|
/**
|
|
1172
1227
|
* Autocomplete data source for persistent query selection.
|
|
1173
|
-
* Filters queries by search text using GraphQL.
|
|
1228
|
+
* Filters queries by search text using GraphQL, then narrows by family on the client.
|
|
1174
1229
|
*/
|
|
1175
1230
|
declare class PersistentQueryAutocompleteDataSource implements EntitySelectDataSource<PersistentQueryItem> {
|
|
1176
1231
|
private gql;
|
|
1177
|
-
|
|
1232
|
+
private acceptFamilies;
|
|
1233
|
+
constructor(gql: GetSystemPersistentQueriesDtoGQL, acceptFamilies?: readonly QueryFamily[]);
|
|
1178
1234
|
onFilter(filter: string, take?: number): Promise<EntitySelectResult<PersistentQueryItem>>;
|
|
1179
1235
|
onDisplayEntity(entity: PersistentQueryItem): string;
|
|
1180
1236
|
getIdEntity(entity: PersistentQueryItem): string;
|
|
1181
1237
|
}
|
|
1182
1238
|
/**
|
|
1183
1239
|
* Dialog data source for persistent query selection grid.
|
|
1184
|
-
* Provides columns and paginated data for the entity select dialog.
|
|
1240
|
+
* Provides columns and paginated data for the entity select dialog, narrowed by family on the client.
|
|
1185
1241
|
*/
|
|
1186
1242
|
declare class PersistentQueryDialogDataSource implements EntitySelectDialogDataSource<PersistentQueryItem> {
|
|
1187
1243
|
private gql;
|
|
1188
|
-
|
|
1244
|
+
private acceptFamilies;
|
|
1245
|
+
constructor(gql: GetSystemPersistentQueriesDtoGQL, acceptFamilies?: readonly QueryFamily[]);
|
|
1189
1246
|
getColumns(): ColumnDefinition[];
|
|
1190
1247
|
fetchData(options: DialogFetchOptions): Observable<DialogFetchResult<PersistentQueryItem>>;
|
|
1191
1248
|
onDisplayEntity(entity: PersistentQueryItem): string;
|
|
@@ -1206,7 +1263,7 @@ declare class PersistentQueryDialogDataSource implements EntitySelectDialogDataS
|
|
|
1206
1263
|
* </mm-query-selector>
|
|
1207
1264
|
* ```
|
|
1208
1265
|
*/
|
|
1209
|
-
declare class QuerySelectorComponent implements ControlValueAccessor, AfterViewInit {
|
|
1266
|
+
declare class QuerySelectorComponent implements ControlValueAccessor, AfterViewInit, OnChanges {
|
|
1210
1267
|
private readonly getSystemPersistentQueriesGQL;
|
|
1211
1268
|
entitySelect: EntitySelectInputComponent;
|
|
1212
1269
|
/** Placeholder text for the input */
|
|
@@ -1215,16 +1272,29 @@ declare class QuerySelectorComponent implements ControlValueAccessor, AfterViewI
|
|
|
1215
1272
|
hint?: string;
|
|
1216
1273
|
/** Whether the component is disabled */
|
|
1217
1274
|
disabled: boolean;
|
|
1275
|
+
/**
|
|
1276
|
+
* Which query families to show in the picker.
|
|
1277
|
+
* Default: both runtime and stream-data.
|
|
1278
|
+
* Set to `['runtime']` for legacy widgets that cannot consume stream-data,
|
|
1279
|
+
* or `['streamData']` for stream-data-only pickers.
|
|
1280
|
+
*
|
|
1281
|
+
* Filtering happens client-side after a server-side fetch — small per-tenant
|
|
1282
|
+
* query counts make this acceptable; a server-side filter would require a
|
|
1283
|
+
* backend change.
|
|
1284
|
+
*/
|
|
1285
|
+
acceptFamilies: readonly QueryFamily[];
|
|
1218
1286
|
/** Emitted when a query is selected */
|
|
1219
1287
|
querySelected: EventEmitter<PersistentQueryItem | null>;
|
|
1220
1288
|
/** Emitted when queries are loaded (emits the selected query in a single-item array for compatibility) */
|
|
1221
1289
|
queriesLoaded: EventEmitter<PersistentQueryItem[]>;
|
|
1222
|
-
|
|
1223
|
-
|
|
1290
|
+
queryDataSource: PersistentQueryAutocompleteDataSource;
|
|
1291
|
+
queryDialogDataSource: PersistentQueryDialogDataSource;
|
|
1224
1292
|
private selectedQuery;
|
|
1225
1293
|
private onChange;
|
|
1226
1294
|
private onTouched;
|
|
1227
1295
|
constructor();
|
|
1296
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1297
|
+
private rebuildDataSources;
|
|
1228
1298
|
ngAfterViewInit(): void;
|
|
1229
1299
|
/**
|
|
1230
1300
|
* Called when an entity is selected from the autocomplete or dialog
|
|
@@ -1244,7 +1314,7 @@ declare class QuerySelectorComponent implements ControlValueAccessor, AfterViewI
|
|
|
1244
1314
|
registerOnTouched(fn: () => void): void;
|
|
1245
1315
|
setDisabledState(isDisabled: boolean): void;
|
|
1246
1316
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuerySelectorComponent, never>;
|
|
1247
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<QuerySelectorComponent, "mm-query-selector", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "querySelected": "querySelected"; "queriesLoaded": "queriesLoaded"; }, never, never, true, never>;
|
|
1317
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<QuerySelectorComponent, "mm-query-selector", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "acceptFamilies": { "alias": "acceptFamilies"; "required": false; }; }, { "querySelected": "querySelected"; "queriesLoaded": "queriesLoaded"; }, never, never, true, never>;
|
|
1248
1318
|
}
|
|
1249
1319
|
|
|
1250
1320
|
/**
|
|
@@ -1593,6 +1663,7 @@ declare class MeshBoardStateService {
|
|
|
1593
1663
|
variables?: MeshBoardVariable[];
|
|
1594
1664
|
timeFilter?: MeshBoardTimeFilterConfig;
|
|
1595
1665
|
entitySelectors?: EntitySelectorConfig[];
|
|
1666
|
+
autoRefreshSeconds?: number;
|
|
1596
1667
|
}): void;
|
|
1597
1668
|
/**
|
|
1598
1669
|
* Gets current settings for the settings dialog.
|
|
@@ -1607,6 +1678,7 @@ declare class MeshBoardStateService {
|
|
|
1607
1678
|
variables: MeshBoardVariable[];
|
|
1608
1679
|
timeFilter?: MeshBoardTimeFilterConfig;
|
|
1609
1680
|
entitySelectors?: EntitySelectorConfig[];
|
|
1681
|
+
autoRefreshSeconds?: number;
|
|
1610
1682
|
};
|
|
1611
1683
|
/**
|
|
1612
1684
|
* Triggers a refresh of all widgets by creating new config references.
|
|
@@ -1675,6 +1747,18 @@ declare class MeshBoardStateService {
|
|
|
1675
1747
|
* Gets the time filter configuration.
|
|
1676
1748
|
*/
|
|
1677
1749
|
getTimeFilterConfig(): MeshBoardTimeFilterConfig | undefined;
|
|
1750
|
+
/**
|
|
1751
|
+
* Resolves the current time-filter selection to a concrete UTC `{from, to}`
|
|
1752
|
+
* range. Returns `null` when the filter is disabled, no selection exists,
|
|
1753
|
+
* or the selection is incomplete.
|
|
1754
|
+
*
|
|
1755
|
+
* Stream-data persistent queries consume this to bound their result set;
|
|
1756
|
+
* runtime queries ignore it.
|
|
1757
|
+
*
|
|
1758
|
+
* IANA-timezone-aware bucket boundaries are tracked separately (AB#4190);
|
|
1759
|
+
* this helper currently returns UTC boundaries derived from the picker.
|
|
1760
|
+
*/
|
|
1761
|
+
resolveCurrentTimeRange(): TimeRange | null;
|
|
1678
1762
|
/**
|
|
1679
1763
|
* Updates the time filter configuration.
|
|
1680
1764
|
*/
|
|
@@ -1773,7 +1857,7 @@ declare class MeshBoardDataService {
|
|
|
1773
1857
|
private readonly getDashboardEntityGQL;
|
|
1774
1858
|
private readonly getCkModelsWithStateGQL;
|
|
1775
1859
|
private readonly getEntitiesByCkTypeGQL;
|
|
1776
|
-
private readonly
|
|
1860
|
+
private readonly queryExecutor;
|
|
1777
1861
|
private readonly getAssociationTargetsGQL;
|
|
1778
1862
|
private readonly getCkTypeAttributesGQL;
|
|
1779
1863
|
private readonly apollo;
|
|
@@ -1835,10 +1919,12 @@ declare class MeshBoardDataService {
|
|
|
1835
1919
|
*/
|
|
1836
1920
|
fetchRepeaterData(dataSource: RepeaterQueryDataSource): Promise<RepeaterDataItem[]>;
|
|
1837
1921
|
/**
|
|
1838
|
-
* Fetches repeater data from a persistent query.
|
|
1839
|
-
*
|
|
1922
|
+
* Fetches repeater data from a persistent query (runtime or stream-data).
|
|
1923
|
+
* Always sends `streamDataArgs` when a time filter is active — the runtime
|
|
1924
|
+
* path ignores the field, so this is safe regardless of the resolved family.
|
|
1840
1925
|
*/
|
|
1841
1926
|
private fetchRepeaterFromQuery;
|
|
1927
|
+
private buildRepeaterStreamDataArgs;
|
|
1842
1928
|
/**
|
|
1843
1929
|
* Fetches repeater data from entities by CK type.
|
|
1844
1930
|
* Maps entities to RepeaterDataItem objects.
|
|
@@ -2269,6 +2355,126 @@ declare class MeshBoardGridService {
|
|
|
2269
2355
|
/** @deprecated Use MeshBoardGridService instead */
|
|
2270
2356
|
declare const DashboardGridService: typeof MeshBoardGridService;
|
|
2271
2357
|
|
|
2358
|
+
/**
|
|
2359
|
+
* Time-range and downsampling arguments for stream-data persistent queries.
|
|
2360
|
+
* Mirrors the GraphQL input `StreamDataArguments` so widgets can build it
|
|
2361
|
+
* without importing generated DTO types directly.
|
|
2362
|
+
*
|
|
2363
|
+
* Backend semantics (verified against StreamDataQueryDtoType.cs and
|
|
2364
|
+
* StreamDataVariantExecutor.cs as of 2026-06-24):
|
|
2365
|
+
* - `from` / `to` / `limit` override the persisted query's intrinsic values
|
|
2366
|
+
* when set (`execOverride?.From ?? simple.From` pattern in the resolver).
|
|
2367
|
+
* - `interval` is currently ignored by every variant; the downsampling path
|
|
2368
|
+
* derives `(to - from) / limit` itself.
|
|
2369
|
+
* - `queryMode` is **ignored on both persistent and transient dispatch** —
|
|
2370
|
+
* the variant (Simple / Aggregation / GroupingAggregation / Downsampling)
|
|
2371
|
+
* comes from the persisted entity's CK subtype or the transient query's
|
|
2372
|
+
* GraphQL sub-connection URL. We still emit it because the schema declares
|
|
2373
|
+
* `queryMode: QueryMode!` (NonNull); see backend cleanup issue.
|
|
2374
|
+
*
|
|
2375
|
+
* Don't pretend to override the mode from here — even if `queryMode: DOWNSAMPLING`
|
|
2376
|
+
* is set on a `SimpleSdQuery`, the backend still runs the simple variant.
|
|
2377
|
+
*/
|
|
2378
|
+
interface StreamDataExecutionArgs {
|
|
2379
|
+
from?: Date | null;
|
|
2380
|
+
to?: Date | null;
|
|
2381
|
+
interval?: number | null;
|
|
2382
|
+
limit?: number | null;
|
|
2383
|
+
/**
|
|
2384
|
+
* Currently a no-op on the dispatch side; kept because the GraphQL input
|
|
2385
|
+
* schema marks `queryMode` non-null. Defaults to `Default`.
|
|
2386
|
+
*/
|
|
2387
|
+
queryMode?: QueryModeDto;
|
|
2388
|
+
}
|
|
2389
|
+
interface QueryExecutionOptions {
|
|
2390
|
+
/** Page size — passed to the GraphQL `first` variable. */
|
|
2391
|
+
first?: number | null;
|
|
2392
|
+
/** Cursor — passed to the GraphQL `after` variable. */
|
|
2393
|
+
after?: string | null;
|
|
2394
|
+
/** Optional column / row sort definitions. */
|
|
2395
|
+
sortOrder?: SortDto[] | null;
|
|
2396
|
+
/** Field filters applied to the query rows. */
|
|
2397
|
+
fieldFilter?: FieldFilterDto[] | null;
|
|
2398
|
+
/** Stream-data-only: time-range, interval, limit, queryMode. Ignored for runtime queries. */
|
|
2399
|
+
streamDataArgs?: StreamDataExecutionArgs | null;
|
|
2400
|
+
/** Force a network round-trip instead of using the Apollo cache. */
|
|
2401
|
+
forceRefresh?: boolean;
|
|
2402
|
+
}
|
|
2403
|
+
interface QueryColumnInfo {
|
|
2404
|
+
attributePath: string;
|
|
2405
|
+
attributeValueType?: string | null;
|
|
2406
|
+
aggregationType?: string | null;
|
|
2407
|
+
}
|
|
2408
|
+
interface QueryCell {
|
|
2409
|
+
attributePath: string;
|
|
2410
|
+
value: unknown;
|
|
2411
|
+
}
|
|
2412
|
+
/**
|
|
2413
|
+
* Unified result-row shape across runtime and stream-data queries.
|
|
2414
|
+
* `__typename` lets callers distinguish row kinds when needed
|
|
2415
|
+
* (`RtSimpleQueryRow`, `RtAggregationQueryRow`, `RtGroupingAggregationQueryRow`,
|
|
2416
|
+
* `StreamDataQueryRow`).
|
|
2417
|
+
*
|
|
2418
|
+
* Stream-data rows surface `timestamp`, `rtWellKnownName`,
|
|
2419
|
+
* `rtCreationDateTime`, and `rtChangedDateTime` directly on the row — useful
|
|
2420
|
+
* for time-series x-axes. Runtime rows leave those fields undefined.
|
|
2421
|
+
*/
|
|
2422
|
+
interface QueryResultRow {
|
|
2423
|
+
__typename?: string;
|
|
2424
|
+
rtId?: string | null;
|
|
2425
|
+
ckTypeId?: string | null;
|
|
2426
|
+
timestamp?: Date | null;
|
|
2427
|
+
rtWellKnownName?: string | null;
|
|
2428
|
+
rtCreationDateTime?: Date | null;
|
|
2429
|
+
rtChangedDateTime?: Date | null;
|
|
2430
|
+
cells: QueryCell[];
|
|
2431
|
+
}
|
|
2432
|
+
interface QueryExecutionResult {
|
|
2433
|
+
family: QueryFamily;
|
|
2434
|
+
queryRtId?: string | null;
|
|
2435
|
+
associatedCkTypeId?: string | null;
|
|
2436
|
+
columns: QueryColumnInfo[];
|
|
2437
|
+
rows: QueryResultRow[];
|
|
2438
|
+
totalCount: number;
|
|
2439
|
+
hasNextPage: boolean;
|
|
2440
|
+
endCursor?: string | null;
|
|
2441
|
+
}
|
|
2442
|
+
/**
|
|
2443
|
+
* Executes persistent queries by rtId and returns a unified result shape
|
|
2444
|
+
* regardless of whether the underlying query is runtime-data or stream-data.
|
|
2445
|
+
*
|
|
2446
|
+
* Widgets consume `QueryExecutionResult` and stay agnostic about which family
|
|
2447
|
+
* the saved query belongs to — switching a widget's data source between
|
|
2448
|
+
* runtime and stream-data is purely a configuration change.
|
|
2449
|
+
*/
|
|
2450
|
+
declare class QueryExecutorService {
|
|
2451
|
+
private readonly runtimeGql;
|
|
2452
|
+
private readonly streamDataGql;
|
|
2453
|
+
private readonly persistentQueriesGql;
|
|
2454
|
+
/**
|
|
2455
|
+
* Cache of resolved query families, keyed by query rtId. Filled lazily for
|
|
2456
|
+
* legacy widget configs that pre-date the `queryFamily` field — saves a
|
|
2457
|
+
* round-trip on every refresh.
|
|
2458
|
+
*/
|
|
2459
|
+
private readonly familyCache;
|
|
2460
|
+
execute(family: QueryFamily | undefined, queryRtId: string, options?: QueryExecutionOptions): Observable<QueryExecutionResult>;
|
|
2461
|
+
/**
|
|
2462
|
+
* Resolves the family of a persistent query by rtId. Falls back to
|
|
2463
|
+
* `'runtime'` when the query type cannot be classified — this matches the
|
|
2464
|
+
* pre-Phase-1 behavior.
|
|
2465
|
+
*/
|
|
2466
|
+
resolveFamily(queryRtId: string): Promise<QueryFamily>;
|
|
2467
|
+
executeRuntime(queryRtId: string, options?: QueryExecutionOptions): Observable<QueryExecutionResult>;
|
|
2468
|
+
executeStreamData(queryRtId: string, options?: QueryExecutionOptions): Observable<QueryExecutionResult>;
|
|
2469
|
+
private buildStreamDataArg;
|
|
2470
|
+
private mapColumns;
|
|
2471
|
+
private mapRuntimeRows;
|
|
2472
|
+
private mapStreamDataRows;
|
|
2473
|
+
private mapCells;
|
|
2474
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryExecutorService, never>;
|
|
2475
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<QueryExecutorService>;
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2272
2478
|
declare class EntityCardWidgetComponent implements DashboardWidget<EntityCardWidgetConfig, RuntimeEntityData>, OnInit, OnChanges {
|
|
2273
2479
|
private readonly dataService;
|
|
2274
2480
|
config: EntityCardWidgetConfig;
|
|
@@ -2345,9 +2551,15 @@ declare class EntityCardConfigDialogComponent implements OnInit {
|
|
|
2345
2551
|
|
|
2346
2552
|
declare class KpiWidgetComponent implements DashboardWidget<KpiWidgetConfig, RuntimeEntityData>, OnInit, OnChanges {
|
|
2347
2553
|
private readonly dataService;
|
|
2348
|
-
private readonly
|
|
2554
|
+
private readonly queryExecutor;
|
|
2349
2555
|
private readonly stateService;
|
|
2350
2556
|
private readonly variableService;
|
|
2557
|
+
/**
|
|
2558
|
+
* Row __typenames KPI extraction recognises.
|
|
2559
|
+
* Runtime queries discriminate; stream-data queries collapse all kinds
|
|
2560
|
+
* (simple / aggregation / grouped / downsampling) into `StreamDataQueryRow`.
|
|
2561
|
+
*/
|
|
2562
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
2351
2563
|
config: KpiWidgetConfig;
|
|
2352
2564
|
protected readonly arrowUpIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
2353
2565
|
protected readonly arrowDownIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
@@ -2385,6 +2597,7 @@ declare class KpiWidgetComponent implements DashboardWidget<KpiWidgetConfig, Run
|
|
|
2385
2597
|
private loadData;
|
|
2386
2598
|
private loadCountData;
|
|
2387
2599
|
private loadPersistentQueryData;
|
|
2600
|
+
private buildStreamDataArgs;
|
|
2388
2601
|
private extractAggregationValue;
|
|
2389
2602
|
private extractGroupedAggregationValue;
|
|
2390
2603
|
/**
|
|
@@ -2416,6 +2629,7 @@ interface KpiConfigResult extends WidgetConfigResult {
|
|
|
2416
2629
|
labelAttribute?: string;
|
|
2417
2630
|
queryRtId?: string;
|
|
2418
2631
|
queryName?: string;
|
|
2632
|
+
queryFamily?: QueryFamily;
|
|
2419
2633
|
queryMode?: KpiQueryMode;
|
|
2420
2634
|
queryValueField?: string;
|
|
2421
2635
|
queryCategoryField?: string;
|
|
@@ -2439,8 +2653,13 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2439
2653
|
private readonly getEntitiesByCkTypeGQL;
|
|
2440
2654
|
private readonly ckTypeSelectorService;
|
|
2441
2655
|
private readonly attributeSelectorService;
|
|
2442
|
-
private readonly executeRuntimeQueryGQL;
|
|
2443
2656
|
private readonly getRuntimeQueryColumnsGQL;
|
|
2657
|
+
private readonly queryExecutor;
|
|
2658
|
+
/**
|
|
2659
|
+
* Row __typenames the dialog recognises when collecting distinct category
|
|
2660
|
+
* values from a query result for the grouped-aggregation category picker.
|
|
2661
|
+
*/
|
|
2662
|
+
private static readonly INTROSPECTION_ROW_TYPES;
|
|
2444
2663
|
private readonly meshBoardStateService;
|
|
2445
2664
|
private readonly windowRef;
|
|
2446
2665
|
ckTypeSelectorInput?: CkTypeSelectorInputComponent;
|
|
@@ -2457,6 +2676,7 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2457
2676
|
initialDataSourceType?: KpiDataSourceType;
|
|
2458
2677
|
initialQueryRtId?: string;
|
|
2459
2678
|
initialQueryName?: string;
|
|
2679
|
+
initialQueryFamily?: QueryFamily;
|
|
2460
2680
|
initialQueryMode?: KpiQueryMode;
|
|
2461
2681
|
initialQueryValueField?: string;
|
|
2462
2682
|
initialQueryCategoryField?: string;
|
|
@@ -2518,11 +2738,18 @@ declare class KpiConfigDialogComponent implements OnInit {
|
|
|
2518
2738
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
2519
2739
|
onQueryModeChange(mode: KpiQueryMode): Promise<void>;
|
|
2520
2740
|
private loadQueryColumnsAndValues;
|
|
2741
|
+
/**
|
|
2742
|
+
* Loads column metadata for the picker. Runtime queries use the
|
|
2743
|
+
* metadata-only resolver (no aggregation executed); stream-data queries
|
|
2744
|
+
* fall back to executing the query with `first: 1`. When `family` is
|
|
2745
|
+
* unknown (legacy configs), the executor resolves it once by rtId lookup.
|
|
2746
|
+
*/
|
|
2747
|
+
private fetchColumnsForFamily;
|
|
2521
2748
|
onCategoryFieldChange(categoryField: string): Promise<void>;
|
|
2522
2749
|
private loadCategoryValuesForField;
|
|
2523
2750
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
2524
2751
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KpiConfigDialogComponent, never>;
|
|
2525
|
-
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; }; "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>;
|
|
2752
|
+
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; }; "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>;
|
|
2526
2753
|
}
|
|
2527
2754
|
|
|
2528
2755
|
interface GroupedAssociation {
|
|
@@ -2795,7 +3022,7 @@ interface QueryColumn {
|
|
|
2795
3022
|
*/
|
|
2796
3023
|
declare class TableWidgetDataSourceDirective extends OctoGraphQlDataSource<Record<string, unknown>> {
|
|
2797
3024
|
private readonly getEntitiesByCkTypeGQL;
|
|
2798
|
-
private readonly
|
|
3025
|
+
private readonly queryExecutor;
|
|
2799
3026
|
private readonly stateService;
|
|
2800
3027
|
private readonly variableService;
|
|
2801
3028
|
private _config;
|
|
@@ -2817,10 +3044,27 @@ declare class TableWidgetDataSourceDirective extends OctoGraphQlDataSource<Recor
|
|
|
2817
3044
|
*/
|
|
2818
3045
|
private flattenAttributes;
|
|
2819
3046
|
/**
|
|
2820
|
-
*
|
|
2821
|
-
*
|
|
3047
|
+
* Row __typenames the table widget knows how to flatten. Runtime queries
|
|
3048
|
+
* use three discriminated variants; stream-data queries collapse all
|
|
3049
|
+
* kinds (simple / aggregation / grouped / downsampling) into a single
|
|
3050
|
+
* `StreamDataQueryRow` type.
|
|
3051
|
+
*/
|
|
3052
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
3053
|
+
/**
|
|
3054
|
+
* Fetches data from a persistent query (runtime or stream-data).
|
|
3055
|
+
* Family is determined from the cached `queryFamily` on the data source
|
|
3056
|
+
* (set by the config dialog when the user picks a query) and defaults to
|
|
3057
|
+
* `'runtime'` for legacy configs that predate stream-data support.
|
|
2822
3058
|
*/
|
|
2823
3059
|
private fetchPersistentQueryData;
|
|
3060
|
+
/**
|
|
3061
|
+
* Flattens a unified `QueryResultRow` into a Kendo-grid-friendly record.
|
|
3062
|
+
* Cells are stored under their matching column's `attributePath` rather than
|
|
3063
|
+
* the cell's own — the engine emits cell paths in wire-form with a function
|
|
3064
|
+
* suffix (e.g. cell path `meterreading_count` for column path `meterReading`).
|
|
3065
|
+
* `matchesAttributePath` reconciles both forms.
|
|
3066
|
+
*/
|
|
3067
|
+
private queryRowToRecord;
|
|
2824
3068
|
/**
|
|
2825
3069
|
* Converts query columns to TableColumn format for display.
|
|
2826
3070
|
*/
|
|
@@ -2841,6 +3085,12 @@ declare class TableWidgetDataSourceDirective extends OctoGraphQlDataSource<Recor
|
|
|
2841
3085
|
* Resolves MeshBoard variables in filter values before conversion.
|
|
2842
3086
|
*/
|
|
2843
3087
|
private convertFiltersToDto;
|
|
3088
|
+
/**
|
|
3089
|
+
* Builds `StreamDataExecutionArgs` from the MeshBoard's current time filter.
|
|
3090
|
+
* Returns `undefined` when no filter is active so the persistent query's
|
|
3091
|
+
* own bounds apply.
|
|
3092
|
+
*/
|
|
3093
|
+
private buildStreamDataArgs;
|
|
2844
3094
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableWidgetDataSourceDirective, never>;
|
|
2845
3095
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableWidgetDataSourceDirective, "[mmTableWidgetDataSource]", ["mmTableWidgetDataSource"], { "config": { "alias": "config"; "required": false; }; }, { "queryColumnsLoaded": "queryColumnsLoaded"; }, never, never, true, never>;
|
|
2846
3096
|
}
|
|
@@ -2899,6 +3149,8 @@ interface TableConfigResult {
|
|
|
2899
3149
|
filters: FieldFilterDto[];
|
|
2900
3150
|
queryRtId?: string;
|
|
2901
3151
|
queryName?: string;
|
|
3152
|
+
/** Family of the selected persistent query — 'runtime' or 'streamData'. */
|
|
3153
|
+
queryFamily?: QueryFamily;
|
|
2902
3154
|
pageSize: number;
|
|
2903
3155
|
sortable: boolean;
|
|
2904
3156
|
}
|
|
@@ -2933,6 +3185,7 @@ declare class TableConfigDialogComponent implements OnInit {
|
|
|
2933
3185
|
initialSortable?: boolean;
|
|
2934
3186
|
initialQueryRtId?: string;
|
|
2935
3187
|
initialQueryName?: string;
|
|
3188
|
+
initialQueryFamily?: QueryFamily;
|
|
2936
3189
|
protected readonly columnsIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
2937
3190
|
protected readonly sortIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
2938
3191
|
protected readonly filterIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
@@ -2967,7 +3220,7 @@ declare class TableConfigDialogComponent implements OnInit {
|
|
|
2967
3220
|
private formatColumnTitle;
|
|
2968
3221
|
onCancel(): void;
|
|
2969
3222
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableConfigDialogComponent, never>;
|
|
2970
|
-
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; }; }, {}, never, never, true, never>;
|
|
3223
|
+
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; }; }, {}, never, never, true, never>;
|
|
2971
3224
|
}
|
|
2972
3225
|
|
|
2973
3226
|
declare class GaugeWidgetComponent implements DashboardWidget<GaugeWidgetConfig, RuntimeEntityData>, OnInit, OnChanges {
|
|
@@ -2976,7 +3229,8 @@ declare class GaugeWidgetComponent implements DashboardWidget<GaugeWidgetConfig,
|
|
|
2976
3229
|
color: string;
|
|
2977
3230
|
}[];
|
|
2978
3231
|
private readonly dataService;
|
|
2979
|
-
private readonly
|
|
3232
|
+
private readonly queryExecutor;
|
|
3233
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
2980
3234
|
private readonly stateService;
|
|
2981
3235
|
private readonly variableService;
|
|
2982
3236
|
config: GaugeWidgetConfig;
|
|
@@ -2999,6 +3253,7 @@ declare class GaugeWidgetComponent implements DashboardWidget<GaugeWidgetConfig,
|
|
|
2999
3253
|
refresh(): void;
|
|
3000
3254
|
private loadData;
|
|
3001
3255
|
private loadPersistentQueryData;
|
|
3256
|
+
private buildStreamDataArgs;
|
|
3002
3257
|
private extractAggregationValue;
|
|
3003
3258
|
private extractGroupedAggregationValue;
|
|
3004
3259
|
private parseNumericValue;
|
|
@@ -3026,6 +3281,7 @@ interface GaugeConfigResult extends WidgetConfigResult {
|
|
|
3026
3281
|
labelAttribute?: string;
|
|
3027
3282
|
queryRtId?: string;
|
|
3028
3283
|
queryName?: string;
|
|
3284
|
+
queryFamily?: QueryFamily;
|
|
3029
3285
|
queryMode?: KpiQueryMode;
|
|
3030
3286
|
queryValueField?: string;
|
|
3031
3287
|
queryCategoryField?: string;
|
|
@@ -3053,8 +3309,13 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3053
3309
|
private readonly getEntitiesByCkTypeGQL;
|
|
3054
3310
|
private readonly ckTypeSelectorService;
|
|
3055
3311
|
private readonly attributeSelectorService;
|
|
3056
|
-
private readonly executeRuntimeQueryGQL;
|
|
3057
3312
|
private readonly getRuntimeQueryColumnsGQL;
|
|
3313
|
+
private readonly queryExecutor;
|
|
3314
|
+
/**
|
|
3315
|
+
* Row __typenames the dialog recognises when collecting distinct category
|
|
3316
|
+
* values from a query result for the grouped-aggregation category picker.
|
|
3317
|
+
*/
|
|
3318
|
+
private static readonly INTROSPECTION_ROW_TYPES;
|
|
3058
3319
|
private readonly meshBoardStateService;
|
|
3059
3320
|
private readonly windowRef;
|
|
3060
3321
|
ckTypeSelectorInput?: CkTypeSelectorInputComponent;
|
|
@@ -3075,6 +3336,7 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3075
3336
|
initialDataSourceType?: GaugeDataSourceType;
|
|
3076
3337
|
initialQueryRtId?: string;
|
|
3077
3338
|
initialQueryName?: string;
|
|
3339
|
+
initialQueryFamily?: QueryFamily;
|
|
3078
3340
|
initialQueryMode?: KpiQueryMode;
|
|
3079
3341
|
initialQueryValueField?: string;
|
|
3080
3342
|
initialQueryCategoryField?: string;
|
|
@@ -3137,11 +3399,18 @@ declare class GaugeConfigDialogComponent implements OnInit {
|
|
|
3137
3399
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
3138
3400
|
onQueryModeChange(mode: KpiQueryMode): Promise<void>;
|
|
3139
3401
|
private loadQueryColumnsAndValues;
|
|
3402
|
+
/**
|
|
3403
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
3404
|
+
* stream-data queries fall back to executing the query with `first: 1`.
|
|
3405
|
+
* When `family` is unknown (legacy configs), the executor resolves it once
|
|
3406
|
+
* by rtId lookup.
|
|
3407
|
+
*/
|
|
3408
|
+
private fetchColumnsForFamily;
|
|
3140
3409
|
onCategoryFieldChange(categoryField: string): Promise<void>;
|
|
3141
3410
|
private loadCategoryValuesForField;
|
|
3142
3411
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3143
3412
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GaugeConfigDialogComponent, never>;
|
|
3144
|
-
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; }; "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>;
|
|
3413
|
+
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; }; "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>;
|
|
3145
3414
|
}
|
|
3146
3415
|
|
|
3147
3416
|
/**
|
|
@@ -3152,7 +3421,8 @@ interface ChartDataItem {
|
|
|
3152
3421
|
value: number;
|
|
3153
3422
|
}
|
|
3154
3423
|
declare class PieChartWidgetComponent implements DashboardWidget<PieChartWidgetConfig, ChartDataItem[]>, OnInit, OnChanges {
|
|
3155
|
-
private readonly
|
|
3424
|
+
private readonly queryExecutor;
|
|
3425
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
3156
3426
|
private readonly dataService;
|
|
3157
3427
|
private readonly stateService;
|
|
3158
3428
|
private readonly variableService;
|
|
@@ -3200,6 +3470,7 @@ declare class PieChartWidgetComponent implements DashboardWidget<PieChartWidgetC
|
|
|
3200
3470
|
* Note: isNotConfigured() check in loadData() ensures queryRtId is set.
|
|
3201
3471
|
*/
|
|
3202
3472
|
private loadPersistentQueryData;
|
|
3473
|
+
private buildStreamDataArgs;
|
|
3203
3474
|
/**
|
|
3204
3475
|
* Converts widget filter configuration to GraphQL FieldFilterDto format.
|
|
3205
3476
|
* Resolves MeshBoard variables in filter values before conversion.
|
|
@@ -3216,6 +3487,7 @@ interface PieChartConfigResult extends WidgetConfigResult {
|
|
|
3216
3487
|
dataSourceType: DataSourceType;
|
|
3217
3488
|
queryRtId?: string;
|
|
3218
3489
|
queryName?: string;
|
|
3490
|
+
queryFamily?: QueryFamily;
|
|
3219
3491
|
categoryField: string;
|
|
3220
3492
|
valueField: string;
|
|
3221
3493
|
ckQueryTarget?: CkQueryTarget;
|
|
@@ -3231,12 +3503,14 @@ interface PieChartConfigResult extends WidgetConfigResult {
|
|
|
3231
3503
|
*/
|
|
3232
3504
|
declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
3233
3505
|
private readonly getRuntimeQueryColumnsGQL;
|
|
3506
|
+
private readonly queryExecutor;
|
|
3234
3507
|
private readonly stateService;
|
|
3235
3508
|
private readonly windowRef;
|
|
3236
3509
|
querySelector?: QuerySelectorComponent;
|
|
3237
3510
|
initialDataSourceType?: DataSourceType;
|
|
3238
3511
|
initialQueryRtId?: string;
|
|
3239
3512
|
initialQueryName?: string;
|
|
3513
|
+
initialQueryFamily?: QueryFamily;
|
|
3240
3514
|
initialChartType?: PieChartType;
|
|
3241
3515
|
initialCategoryField?: string;
|
|
3242
3516
|
initialValueField?: string;
|
|
@@ -3288,11 +3562,17 @@ declare class PieChartConfigDialogComponent implements OnInit, AfterViewInit {
|
|
|
3288
3562
|
private updateCkGroupByOptions;
|
|
3289
3563
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
3290
3564
|
private loadQueryColumns;
|
|
3565
|
+
/**
|
|
3566
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
3567
|
+
* stream-data queries fall back to executing the query with `first: 1`
|
|
3568
|
+
* because the SD path has no dedicated column-introspection endpoint today.
|
|
3569
|
+
*/
|
|
3570
|
+
private fetchColumnsForFamily;
|
|
3291
3571
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3292
3572
|
onSave(): void;
|
|
3293
3573
|
onCancel(): void;
|
|
3294
3574
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieChartConfigDialogComponent, never>;
|
|
3295
|
-
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; }; "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>;
|
|
3575
|
+
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; }; "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>;
|
|
3296
3576
|
}
|
|
3297
3577
|
|
|
3298
3578
|
/**
|
|
@@ -3304,7 +3584,8 @@ interface SeriesData {
|
|
|
3304
3584
|
color?: string;
|
|
3305
3585
|
}
|
|
3306
3586
|
declare class BarChartWidgetComponent implements DashboardWidget<BarChartWidgetConfig, SeriesData[]>, OnInit, OnChanges {
|
|
3307
|
-
private readonly
|
|
3587
|
+
private readonly queryExecutor;
|
|
3588
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
3308
3589
|
private readonly stateService;
|
|
3309
3590
|
private readonly variableService;
|
|
3310
3591
|
config: BarChartWidgetConfig;
|
|
@@ -3346,6 +3627,7 @@ declare class BarChartWidgetComponent implements DashboardWidget<BarChartWidgetC
|
|
|
3346
3627
|
private isDynamicSeriesMode;
|
|
3347
3628
|
formatValue(value: number): string;
|
|
3348
3629
|
private loadData;
|
|
3630
|
+
private buildStreamDataArgs;
|
|
3349
3631
|
/**
|
|
3350
3632
|
* Processes data in Static Series Mode.
|
|
3351
3633
|
* Each series in config.series corresponds to a separate numeric field.
|
|
@@ -3395,6 +3677,7 @@ type SeriesMode = 'static' | 'dynamic';
|
|
|
3395
3677
|
interface BarChartConfigResult extends WidgetConfigResult {
|
|
3396
3678
|
queryRtId: string;
|
|
3397
3679
|
queryName?: string;
|
|
3680
|
+
queryFamily?: QueryFamily;
|
|
3398
3681
|
chartType: BarChartType;
|
|
3399
3682
|
categoryField: string;
|
|
3400
3683
|
series: BarChartSeries[];
|
|
@@ -3415,11 +3698,13 @@ interface BarChartConfigResult extends WidgetConfigResult {
|
|
|
3415
3698
|
*/
|
|
3416
3699
|
declare class BarChartConfigDialogComponent implements OnInit {
|
|
3417
3700
|
private readonly getRuntimeQueryColumnsGQL;
|
|
3701
|
+
private readonly queryExecutor;
|
|
3418
3702
|
private readonly stateService;
|
|
3419
3703
|
private readonly windowRef;
|
|
3420
3704
|
querySelector?: QuerySelectorComponent;
|
|
3421
3705
|
initialQueryRtId?: string;
|
|
3422
3706
|
initialQueryName?: string;
|
|
3707
|
+
initialQueryFamily?: QueryFamily;
|
|
3423
3708
|
initialChartType?: BarChartType;
|
|
3424
3709
|
initialCategoryField?: string;
|
|
3425
3710
|
initialSeries?: BarChartSeries[];
|
|
@@ -3464,6 +3749,12 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3464
3749
|
ngOnInit(): Promise<void>;
|
|
3465
3750
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
3466
3751
|
private loadQueryColumns;
|
|
3752
|
+
/**
|
|
3753
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
3754
|
+
* stream-data queries fall back to executing the query with `first: 1`
|
|
3755
|
+
* because the SD path has no dedicated column-introspection endpoint today.
|
|
3756
|
+
*/
|
|
3757
|
+
private fetchColumnsForFamily;
|
|
3467
3758
|
onSeriesFieldsChange(fields: string[]): void;
|
|
3468
3759
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3469
3760
|
onSave(): void;
|
|
@@ -3471,7 +3762,7 @@ declare class BarChartConfigDialogComponent implements OnInit {
|
|
|
3471
3762
|
removeColorThreshold(index: number): void;
|
|
3472
3763
|
onCancel(): void;
|
|
3473
3764
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartConfigDialogComponent, never>;
|
|
3474
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartConfigDialogComponent, "mm-bar-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "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>;
|
|
3765
|
+
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; }; "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>;
|
|
3475
3766
|
}
|
|
3476
3767
|
|
|
3477
3768
|
/**
|
|
@@ -3492,7 +3783,8 @@ interface ValueAxisConfig {
|
|
|
3492
3783
|
position: 'left' | 'right';
|
|
3493
3784
|
}
|
|
3494
3785
|
declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidgetConfig, LineSeriesData[]>, OnInit, OnChanges {
|
|
3495
|
-
private readonly
|
|
3786
|
+
private readonly queryExecutor;
|
|
3787
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
3496
3788
|
private readonly stateService;
|
|
3497
3789
|
private readonly variableService;
|
|
3498
3790
|
config: LineChartWidgetConfig;
|
|
@@ -3545,6 +3837,7 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3545
3837
|
formatValue(value: number): string;
|
|
3546
3838
|
getUnitForSeries(seriesName: string): string;
|
|
3547
3839
|
private loadData;
|
|
3840
|
+
private buildStreamDataArgs;
|
|
3548
3841
|
/**
|
|
3549
3842
|
* Processes query rows into line chart data.
|
|
3550
3843
|
* Groups by seriesGroupField, orders by categoryField (date), supports multi-axis by unitField.
|
|
@@ -3570,6 +3863,7 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
|
|
|
3570
3863
|
interface LineChartConfigResult extends WidgetConfigResult {
|
|
3571
3864
|
queryRtId: string;
|
|
3572
3865
|
queryName?: string;
|
|
3866
|
+
queryFamily?: QueryFamily;
|
|
3573
3867
|
chartType: LineChartType;
|
|
3574
3868
|
categoryField: string;
|
|
3575
3869
|
seriesGroupField: string;
|
|
@@ -3587,11 +3881,13 @@ interface LineChartConfigResult extends WidgetConfigResult {
|
|
|
3587
3881
|
*/
|
|
3588
3882
|
declare class LineChartConfigDialogComponent implements OnInit {
|
|
3589
3883
|
private readonly getRuntimeQueryColumnsGQL;
|
|
3884
|
+
private readonly queryExecutor;
|
|
3590
3885
|
private readonly stateService;
|
|
3591
3886
|
private readonly windowRef;
|
|
3592
3887
|
querySelector?: QuerySelectorComponent;
|
|
3593
3888
|
initialQueryRtId?: string;
|
|
3594
3889
|
initialQueryName?: string;
|
|
3890
|
+
initialQueryFamily?: QueryFamily;
|
|
3595
3891
|
initialChartType?: LineChartType;
|
|
3596
3892
|
initialCategoryField?: string;
|
|
3597
3893
|
initialSeriesGroupField?: string;
|
|
@@ -3629,13 +3925,19 @@ declare class LineChartConfigDialogComponent implements OnInit {
|
|
|
3629
3925
|
ngOnInit(): Promise<void>;
|
|
3630
3926
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
3631
3927
|
private loadQueryColumns;
|
|
3928
|
+
/**
|
|
3929
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
3930
|
+
* stream-data queries fall back to executing the query with `first: 1`
|
|
3931
|
+
* because the SD path has no dedicated column-introspection endpoint today.
|
|
3932
|
+
*/
|
|
3933
|
+
private fetchColumnsForFamily;
|
|
3632
3934
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3633
3935
|
onSave(): void;
|
|
3634
3936
|
addReferenceLine(): void;
|
|
3635
3937
|
removeReferenceLine(index: number): void;
|
|
3636
3938
|
onCancel(): void;
|
|
3637
3939
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartConfigDialogComponent, never>;
|
|
3638
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartConfigDialogComponent, "mm-line-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "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>;
|
|
3940
|
+
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; }; "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>;
|
|
3639
3941
|
}
|
|
3640
3942
|
|
|
3641
3943
|
/**
|
|
@@ -3652,7 +3954,8 @@ interface HeatmapDataItem {
|
|
|
3652
3954
|
color: string;
|
|
3653
3955
|
}
|
|
3654
3956
|
declare class HeatmapWidgetComponent implements DashboardWidget<HeatmapWidgetConfig, HeatmapDataItem[]>, OnInit, OnChanges {
|
|
3655
|
-
private readonly
|
|
3957
|
+
private readonly queryExecutor;
|
|
3958
|
+
private static readonly SUPPORTED_ROW_TYPES;
|
|
3656
3959
|
private readonly stateService;
|
|
3657
3960
|
private readonly variableService;
|
|
3658
3961
|
config: HeatmapWidgetConfig;
|
|
@@ -3690,6 +3993,7 @@ declare class HeatmapWidgetComponent implements DashboardWidget<HeatmapWidgetCon
|
|
|
3690
3993
|
value: string;
|
|
3691
3994
|
}) => string;
|
|
3692
3995
|
private loadData;
|
|
3996
|
+
private buildStreamDataArgs;
|
|
3693
3997
|
/**
|
|
3694
3998
|
* Processes query rows into heatmap data.
|
|
3695
3999
|
* When dateEndField is configured, auto-detects the interval width and shows sub-hour columns.
|
|
@@ -3728,6 +4032,7 @@ declare class HeatmapWidgetComponent implements DashboardWidget<HeatmapWidgetCon
|
|
|
3728
4032
|
interface HeatmapConfigResult extends WidgetConfigResult {
|
|
3729
4033
|
queryRtId: string;
|
|
3730
4034
|
queryName?: string;
|
|
4035
|
+
queryFamily?: QueryFamily;
|
|
3731
4036
|
dateField: string;
|
|
3732
4037
|
dateEndField?: string;
|
|
3733
4038
|
valueField?: string;
|
|
@@ -3742,11 +4047,13 @@ interface HeatmapConfigResult extends WidgetConfigResult {
|
|
|
3742
4047
|
}
|
|
3743
4048
|
declare class HeatmapConfigDialogComponent implements OnInit {
|
|
3744
4049
|
private readonly getRuntimeQueryColumnsGQL;
|
|
4050
|
+
private readonly queryExecutor;
|
|
3745
4051
|
private readonly stateService;
|
|
3746
4052
|
private readonly windowRef;
|
|
3747
4053
|
querySelector?: QuerySelectorComponent;
|
|
3748
4054
|
initialQueryRtId?: string;
|
|
3749
4055
|
initialQueryName?: string;
|
|
4056
|
+
initialQueryFamily?: QueryFamily;
|
|
3750
4057
|
initialDateField?: string;
|
|
3751
4058
|
initialDateEndField?: string;
|
|
3752
4059
|
initialValueField?: string;
|
|
@@ -3799,11 +4106,17 @@ declare class HeatmapConfigDialogComponent implements OnInit {
|
|
|
3799
4106
|
ngOnInit(): Promise<void>;
|
|
3800
4107
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
3801
4108
|
private loadQueryColumns;
|
|
4109
|
+
/**
|
|
4110
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
4111
|
+
* stream-data queries fall back to executing the query with `first: 1`
|
|
4112
|
+
* because the SD path has no dedicated column-introspection endpoint today.
|
|
4113
|
+
*/
|
|
4114
|
+
private fetchColumnsForFamily;
|
|
3802
4115
|
onFiltersChange(updatedFilters: FieldFilterItem[]): void;
|
|
3803
4116
|
onSave(): void;
|
|
3804
4117
|
onCancel(): void;
|
|
3805
4118
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeatmapConfigDialogComponent, never>;
|
|
3806
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeatmapConfigDialogComponent, "mm-heatmap-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "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>;
|
|
4119
|
+
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; }; "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>;
|
|
3807
4120
|
}
|
|
3808
4121
|
|
|
3809
4122
|
interface StatValue {
|
|
@@ -4119,6 +4432,7 @@ interface WidgetGroupConfigResult extends WidgetConfigResult {
|
|
|
4119
4432
|
dataSourceMode: WidgetGroupDataSourceMode;
|
|
4120
4433
|
queryRtId?: string;
|
|
4121
4434
|
queryName?: string;
|
|
4435
|
+
queryFamily?: QueryFamily;
|
|
4122
4436
|
filters?: FieldFilterDto[];
|
|
4123
4437
|
maxItems?: number;
|
|
4124
4438
|
childTemplate: WidgetGroupChildTemplate;
|
|
@@ -4136,6 +4450,7 @@ declare class WidgetGroupConfigDialogComponent implements OnInit {
|
|
|
4136
4450
|
private readonly ckTypeSelectorService;
|
|
4137
4451
|
private readonly attributeSelectorService;
|
|
4138
4452
|
private readonly getRuntimeQueryColumnsGQL;
|
|
4453
|
+
private readonly queryExecutor;
|
|
4139
4454
|
private readonly getCkTypeAvailableQueryColumnsGQL;
|
|
4140
4455
|
private readonly meshBoardStateService;
|
|
4141
4456
|
private readonly windowRef;
|
|
@@ -4143,6 +4458,7 @@ declare class WidgetGroupConfigDialogComponent implements OnInit {
|
|
|
4143
4458
|
initialDataSourceMode?: WidgetGroupDataSourceMode;
|
|
4144
4459
|
initialQueryRtId?: string;
|
|
4145
4460
|
initialQueryName?: string;
|
|
4461
|
+
initialQueryFamily?: QueryFamily;
|
|
4146
4462
|
initialCkTypeId?: string;
|
|
4147
4463
|
initialFilters?: WidgetFilterConfig[];
|
|
4148
4464
|
initialMaxItems?: number;
|
|
@@ -4194,6 +4510,12 @@ declare class WidgetGroupConfigDialogComponent implements OnInit {
|
|
|
4194
4510
|
onDataSourceModeChange(mode: WidgetGroupDataSourceMode): void;
|
|
4195
4511
|
onQuerySelected(query: PersistentQueryItem | null): Promise<void>;
|
|
4196
4512
|
private loadQueryColumns;
|
|
4513
|
+
/**
|
|
4514
|
+
* Runtime queries use the metadata-only resolver (no aggregation executed);
|
|
4515
|
+
* stream-data queries fall back to executing the query with `first: 1`
|
|
4516
|
+
* because the SD path has no dedicated column-introspection endpoint today.
|
|
4517
|
+
*/
|
|
4518
|
+
private fetchColumnsForFamily;
|
|
4197
4519
|
private loadInitialCkTypeValues;
|
|
4198
4520
|
onCkTypeSelected(ckType: CkTypeSelectorItem): void;
|
|
4199
4521
|
onCkTypeCleared(): void;
|
|
@@ -4204,7 +4526,7 @@ declare class WidgetGroupConfigDialogComponent implements OnInit {
|
|
|
4204
4526
|
private buildStaticConfig;
|
|
4205
4527
|
onCancel(): void;
|
|
4206
4528
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetGroupConfigDialogComponent, never>;
|
|
4207
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetGroupConfigDialogComponent, "mm-widget-group-config-dialog", never, { "initialDataSourceMode": { "alias": "initialDataSourceMode"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialMaxItems": { "alias": "initialMaxItems"; "required": false; }; "initialChildTemplate": { "alias": "initialChildTemplate"; "required": false; }; "initialLayout": { "alias": "initialLayout"; "required": false; }; "initialGridColumns": { "alias": "initialGridColumns"; "required": false; }; "initialMinChildWidth": { "alias": "initialMinChildWidth"; "required": false; }; "initialGap": { "alias": "initialGap"; "required": false; }; "initialEmptyMessage": { "alias": "initialEmptyMessage"; "required": false; }; }, {}, never, never, true, never>;
|
|
4529
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WidgetGroupConfigDialogComponent, "mm-widget-group-config-dialog", never, { "initialDataSourceMode": { "alias": "initialDataSourceMode"; "required": false; }; "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialCkTypeId": { "alias": "initialCkTypeId"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; "initialMaxItems": { "alias": "initialMaxItems"; "required": false; }; "initialChildTemplate": { "alias": "initialChildTemplate"; "required": false; }; "initialLayout": { "alias": "initialLayout"; "required": false; }; "initialGridColumns": { "alias": "initialGridColumns"; "required": false; }; "initialMinChildWidth": { "alias": "initialMinChildWidth"; "required": false; }; "initialGap": { "alias": "initialGap"; "required": false; }; "initialEmptyMessage": { "alias": "initialEmptyMessage"; "required": false; }; }, {}, never, never, true, never>;
|
|
4208
4530
|
}
|
|
4209
4531
|
|
|
4210
4532
|
declare class MarkdownWidgetComponent implements DashboardWidget<MarkdownWidgetConfig, string>, OnInit, OnChanges {
|
|
@@ -4953,6 +5275,9 @@ declare class MeshBoardViewComponent implements OnInit, OnDestroy, HasUnsavedCha
|
|
|
4953
5275
|
protected editingWidget: AnyWidgetConfig | null;
|
|
4954
5276
|
private configDialogSubscription;
|
|
4955
5277
|
private navigationSubscription;
|
|
5278
|
+
private autoRefreshTimerId;
|
|
5279
|
+
private autoRefreshActiveSeconds;
|
|
5280
|
+
private readonly visibilityListener;
|
|
4956
5281
|
protected readonly config: _angular_core.Signal<MeshBoardConfig>;
|
|
4957
5282
|
protected readonly isEditMode: _angular_core.Signal<boolean>;
|
|
4958
5283
|
protected readonly isSaving: _angular_core.Signal<boolean>;
|
|
@@ -5001,6 +5326,16 @@ declare class MeshBoardViewComponent implements OnInit, OnDestroy, HasUnsavedCha
|
|
|
5001
5326
|
*/
|
|
5002
5327
|
private loadMeshBoardById;
|
|
5003
5328
|
ngOnDestroy(): void;
|
|
5329
|
+
/**
|
|
5330
|
+
* Starts, restarts, or stops the auto-refresh timer based on the MeshBoard
|
|
5331
|
+
* config and document visibility. Called on init, whenever config changes,
|
|
5332
|
+
* and whenever the tab visibility changes.
|
|
5333
|
+
*
|
|
5334
|
+
* Pause-on-hidden saves bandwidth and avoids Apollo cache thrashing when
|
|
5335
|
+
* the user has the tab in the background.
|
|
5336
|
+
*/
|
|
5337
|
+
private evaluateAutoRefresh;
|
|
5338
|
+
private stopAutoRefresh;
|
|
5004
5339
|
/**
|
|
5005
5340
|
* Preloads data for all widgets to improve initial rendering performance.
|
|
5006
5341
|
*/
|
|
@@ -5231,7 +5566,8 @@ declare class MeshBoardSettingsResult {
|
|
|
5231
5566
|
timeFilter?: MeshBoardTimeFilterConfig | undefined;
|
|
5232
5567
|
rtWellKnownName?: string | undefined;
|
|
5233
5568
|
entitySelectors?: EntitySelectorConfig[] | undefined;
|
|
5234
|
-
|
|
5569
|
+
autoRefreshSeconds?: number | undefined;
|
|
5570
|
+
constructor(name: string, description: string, columns: number, rowHeight: number, gap: number, variables: MeshBoardVariable[], timeFilter?: MeshBoardTimeFilterConfig | undefined, rtWellKnownName?: string | undefined, entitySelectors?: EntitySelectorConfig[] | undefined, autoRefreshSeconds?: number | undefined);
|
|
5235
5571
|
}
|
|
5236
5572
|
/**
|
|
5237
5573
|
* Dialog for editing MeshBoard settings.
|
|
@@ -5245,6 +5581,12 @@ declare class MeshBoardSettingsDialogComponent {
|
|
|
5245
5581
|
columns: number;
|
|
5246
5582
|
rowHeight: number;
|
|
5247
5583
|
gap: number;
|
|
5584
|
+
/**
|
|
5585
|
+
* Auto-refresh interval in seconds. `0` disables auto-refresh and is the default.
|
|
5586
|
+
* When > 0 the MeshBoard view re-polls all widgets at this interval while the
|
|
5587
|
+
* tab is visible.
|
|
5588
|
+
*/
|
|
5589
|
+
autoRefreshSeconds: number;
|
|
5248
5590
|
variables: MeshBoardVariable[];
|
|
5249
5591
|
entitySelectors: EntitySelectorConfig[];
|
|
5250
5592
|
entitySelectorEditing: boolean;
|
|
@@ -5267,6 +5609,7 @@ declare class MeshBoardSettingsDialogComponent {
|
|
|
5267
5609
|
variables?: MeshBoardVariable[];
|
|
5268
5610
|
timeFilter?: MeshBoardTimeFilterConfig;
|
|
5269
5611
|
entitySelectors?: EntitySelectorConfig[];
|
|
5612
|
+
autoRefreshSeconds?: number;
|
|
5270
5613
|
}): void;
|
|
5271
5614
|
/**
|
|
5272
5615
|
* Handles default selection change from the time range picker.
|
|
@@ -5463,5 +5806,5 @@ declare class MeshBoardManagerDialogComponent implements OnInit {
|
|
|
5463
5806
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MeshBoardManagerDialogComponent, "mm-meshboard-manager-dialog", never, {}, {}, never, never, true, never>;
|
|
5464
5807
|
}
|
|
5465
5808
|
|
|
5466
|
-
export { AddWidgetDialogComponent, AiInsightsConfigDialogComponent, AiInsightsService, AiInsightsWidgetComponent, AlertBannerConfigDialogComponent, AlertBannerWidgetComponent, AlertListConfigDialogComponent, AlertListWidgetComponent, AssociationsConfigDialogComponent, 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, QuerySelectorComponent, RuntimeEntitySelectorComponent, ServiceHealthConfigDialogComponent, ServiceHealthWidgetComponent, StatsGridConfigDialogComponent, StatsGridWidgetComponent, StatusIndicatorConfigDialogComponent, StatusIndicatorWidgetComponent, StatusListConfigDialogComponent, StatusListWidgetComponent, SummaryCardConfigDialogComponent, SummaryCardWidgetComponent, TableConfigDialogComponent, TableWidgetComponent, TableWidgetDataSourceDirective, WidgetFactoryService, WidgetGroupComponent, WidgetGroupConfigDialogComponent, WidgetNotConfiguredComponent, WidgetRegistryService, provideDefaultWidgets, provideMeshBoard, provideProcessWidget, provideWidgetRegistrations, registerDefaultWidgets, registerProcessWidget };
|
|
5467
|
-
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, QueryColumn, QueryColumnItem, RelativeTimeUnit, RepeaterDataItem, RepeaterQueryDataSource, RuntimeEntityData, RuntimeEntityDataSource, RuntimeEntitySelectorValue, ServiceCallDataSource, ServiceCallType, ServiceHealthConfigResult, ServiceHealthWidgetConfig, StatColor, StatItem, StaticDataSource, StatsGridConfigResult, StatsGridWidgetConfig, StatusIndicatorConfigResult, StatusIndicatorWidgetConfig, StatusListConfigResult, StatusListWidgetConfig, 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 };
|
|
5809
|
+
export { AddWidgetDialogComponent, AiInsightsConfigDialogComponent, AiInsightsService, AiInsightsWidgetComponent, AlertBannerConfigDialogComponent, AlertBannerWidgetComponent, AlertListConfigDialogComponent, AlertListWidgetComponent, AssociationsConfigDialogComponent, 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 };
|
|
5810
|
+
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 };
|