@meshmakers/octo-ui 3.3.610 → 3.3.630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/fesm2022/meshmakers-octo-ui.mjs +11217 -4079
- package/fesm2022/meshmakers-octo-ui.mjs.map +1 -1
- package/lib/runtime-browser/styles/_index.scss +3 -4950
- package/lib/runtime-browser/styles/_lcars-button.scss +55 -0
- package/lib/runtime-browser/styles/_lcars-flat-btn.scss +11 -0
- package/lib/runtime-browser/styles/_lcars-input.scss +13 -0
- package/lib/runtime-browser/styles/_styles.scss +4708 -0
- package/lib/runtime-browser/styles/_variables.scss +15 -12
- package/package.json +13 -4
- package/types/meshmakers-octo-ui.d.ts +1403 -549
|
@@ -1,15 +1,371 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit,
|
|
2
|
+
import { OnInit, OnDestroy, EventEmitter, OnChanges, SimpleChanges, AfterViewInit, Provider, InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
3
3
|
import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
|
|
4
4
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
5
|
+
import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, FieldFilterDto, SearchFilterDto, SortDto, FieldFilterOperatorsDto, RtEntityDto, CkTypeDto, CkModelDto, RtAssociationDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
|
|
5
6
|
import { GridDataResult, CellClickEvent, RowArgs, PageChangeEvent, SelectionEvent } from '@progress/kendo-angular-grid';
|
|
6
|
-
import {
|
|
7
|
+
import { TreeItemDataTyped, CommandItemExecuteEventArgs, CommandItem } from '@meshmakers/shared-services';
|
|
7
8
|
import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
8
9
|
import { AutoCompleteComponent, PopupSettings } from '@progress/kendo-angular-dropdowns';
|
|
9
|
-
import { DataSourceTyped, ListViewComponent, HierarchyDataSourceBase } from '@meshmakers/shared-ui';
|
|
10
|
+
import { DataSourceTyped, ListViewComponent, HierarchyDataSourceBase, FetchDataOptions, FetchResultTyped, BaseTreeDetailComponent, NodeDroppedEvent } from '@meshmakers/shared-ui';
|
|
10
11
|
import { State } from '@progress/kendo-data-query/dist/npm/state';
|
|
11
|
-
import { TreeItemDataTyped } from '@meshmakers/shared-services';
|
|
12
12
|
import { Observable } from 'rxjs';
|
|
13
|
+
import { Routes } from '@angular/router';
|
|
14
|
+
|
|
15
|
+
interface AttributeSelectorDialogData {
|
|
16
|
+
rtCkTypeId: string;
|
|
17
|
+
selectedAttributes?: string[];
|
|
18
|
+
dialogTitle?: string;
|
|
19
|
+
singleSelect?: boolean;
|
|
20
|
+
includeNavigationProperties?: boolean;
|
|
21
|
+
maxDepth?: number;
|
|
22
|
+
/** Additional virtual attributes to include in the available list (e.g., Timestamp for stream data queries) */
|
|
23
|
+
additionalAttributes?: AttributeItem[];
|
|
24
|
+
/** When true, hides the navigation properties checkbox and max depth controls */
|
|
25
|
+
hideNavigationControls?: boolean;
|
|
26
|
+
/** When set, restricts the available attributes to only these attribute paths (filtered client-side after fetching) */
|
|
27
|
+
attributePaths?: string[];
|
|
28
|
+
}
|
|
29
|
+
interface AttributeSelectorDialogResult {
|
|
30
|
+
selectedAttributes: AttributeItem[];
|
|
31
|
+
}
|
|
32
|
+
interface ValueTypeFilterOption$1 {
|
|
33
|
+
text: string;
|
|
34
|
+
value: AttributeValueTypeDto$1 | null;
|
|
35
|
+
}
|
|
36
|
+
declare class AttributeSelectorDialogComponent implements OnInit {
|
|
37
|
+
private readonly windowRef;
|
|
38
|
+
private readonly attributeService;
|
|
39
|
+
private searchSubject;
|
|
40
|
+
protected readonly arrowRightIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
41
|
+
protected readonly arrowLeftIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
42
|
+
protected readonly chevronDoubleRightIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
43
|
+
protected readonly chevronDoubleLeftIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
44
|
+
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
45
|
+
protected readonly arrowUpIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
46
|
+
protected readonly arrowDownIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
47
|
+
private _data;
|
|
48
|
+
get data(): AttributeSelectorDialogData;
|
|
49
|
+
set data(value: AttributeSelectorDialogData);
|
|
50
|
+
dialogTitle: string;
|
|
51
|
+
rtCkTypeId: string;
|
|
52
|
+
singleSelect: boolean;
|
|
53
|
+
private additionalAttributes;
|
|
54
|
+
searchText: string;
|
|
55
|
+
selectedSingleKey: string[];
|
|
56
|
+
selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
|
|
57
|
+
includeNavigationProperties: boolean;
|
|
58
|
+
maxDepth: number | null;
|
|
59
|
+
hideNavigationControls: boolean;
|
|
60
|
+
private attributePathsSet;
|
|
61
|
+
availableAttributes: AttributeItem[];
|
|
62
|
+
selectedAttributes: AttributeItem[];
|
|
63
|
+
availableGridData: GridDataResult;
|
|
64
|
+
selectedGridData: GridDataResult;
|
|
65
|
+
selectedAvailableKeys: string[];
|
|
66
|
+
selectedChosenKeys: string[];
|
|
67
|
+
valueTypeOptions: ValueTypeFilterOption$1[];
|
|
68
|
+
private lastClickTime;
|
|
69
|
+
private lastClickedItem;
|
|
70
|
+
private readonly doubleClickDelay;
|
|
71
|
+
ngOnInit(): void;
|
|
72
|
+
private initializeFromData;
|
|
73
|
+
private loadAvailableAttributes;
|
|
74
|
+
private loadInitialSelectedAttributes;
|
|
75
|
+
onSearchChange(value: string): void;
|
|
76
|
+
onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
|
|
77
|
+
onNavigationPropertiesChange(): void;
|
|
78
|
+
onMaxDepthChange(value: number | null): void;
|
|
79
|
+
addSelected(): void;
|
|
80
|
+
removeSelected(): void;
|
|
81
|
+
addAll(): void;
|
|
82
|
+
removeAll(): void;
|
|
83
|
+
private sortAvailableAttributes;
|
|
84
|
+
canMoveUp(): boolean;
|
|
85
|
+
canMoveDown(): boolean;
|
|
86
|
+
moveUp(): void;
|
|
87
|
+
moveDown(): void;
|
|
88
|
+
private updateGrids;
|
|
89
|
+
private updateAvailableGrid;
|
|
90
|
+
private updateSelectedGrid;
|
|
91
|
+
onCancel(): void;
|
|
92
|
+
onConfirm(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Handle cell click on available attributes grid to detect double-click
|
|
95
|
+
*/
|
|
96
|
+
onAvailableCellClick(event: CellClickEvent): void;
|
|
97
|
+
/**
|
|
98
|
+
* Handle cell click on selected attributes grid to detect double-click
|
|
99
|
+
*/
|
|
100
|
+
onSelectedCellClick(event: CellClickEvent): void;
|
|
101
|
+
/**
|
|
102
|
+
* Handle cell click on single-select grid to detect double-click (confirm immediately)
|
|
103
|
+
*/
|
|
104
|
+
onSingleSelectCellClick(event: CellClickEvent): void;
|
|
105
|
+
/**
|
|
106
|
+
* Move a single attribute from available to selected
|
|
107
|
+
*/
|
|
108
|
+
private moveAttributeToSelected;
|
|
109
|
+
/**
|
|
110
|
+
* Move a single attribute from selected to available
|
|
111
|
+
*/
|
|
112
|
+
private moveAttributeToAvailable;
|
|
113
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSelectorDialogComponent, never>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeSelectorDialogComponent, "mm-attribute-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
interface AttributeSelectorResult {
|
|
118
|
+
confirmed: boolean;
|
|
119
|
+
selectedAttributes: AttributeItem[];
|
|
120
|
+
}
|
|
121
|
+
declare class AttributeSelectorDialogService {
|
|
122
|
+
private readonly windowService;
|
|
123
|
+
private readonly windowStateService;
|
|
124
|
+
/**
|
|
125
|
+
* Opens the attribute selector dialog
|
|
126
|
+
* @param rtCkTypeId The RtCkType ID to fetch attributes for
|
|
127
|
+
* @param selectedAttributes Optional array of pre-selected attribute paths
|
|
128
|
+
* @param dialogTitle Optional custom dialog title
|
|
129
|
+
* @param singleSelect Optional flag for single-select mode
|
|
130
|
+
* @param additionalAttributes Optional virtual attributes to include (e.g., Timestamp for stream data)
|
|
131
|
+
* @param includeNavigationProperties Optional flag to control navigation property inclusion
|
|
132
|
+
* @param maxDepth Optional max depth for navigation properties
|
|
133
|
+
* @param hideNavigationControls Optional flag to hide the navigation property controls in the dialog
|
|
134
|
+
* @returns Promise that resolves with the result containing selected attributes and confirmation status
|
|
135
|
+
*/
|
|
136
|
+
openAttributeSelector(rtCkTypeId: string, selectedAttributes?: string[], dialogTitle?: string, singleSelect?: boolean, additionalAttributes?: AttributeItem[], includeNavigationProperties?: boolean, maxDepth?: number, hideNavigationControls?: boolean, attributePaths?: string[]): Promise<AttributeSelectorResult>;
|
|
137
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSelectorDialogService, never>;
|
|
138
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AttributeSelectorDialogService>;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
interface AttributeSortItem {
|
|
142
|
+
attributePath: string;
|
|
143
|
+
attributeValueType: string;
|
|
144
|
+
sortOrder: 'standard' | 'ascending' | 'descending';
|
|
145
|
+
}
|
|
146
|
+
interface AttributeSortSelectorDialogData {
|
|
147
|
+
ckTypeId: string;
|
|
148
|
+
selectedAttributes?: AttributeSortItem[];
|
|
149
|
+
dialogTitle?: string;
|
|
150
|
+
/** When set, controls whether navigation properties are included in the attribute list */
|
|
151
|
+
includeNavigationProperties?: boolean;
|
|
152
|
+
/** When true, hides the navigation property controls (if they were to be added) */
|
|
153
|
+
hideNavigationControls?: boolean;
|
|
154
|
+
/** When set, restricts the available attributes to only these attribute paths (filtered client-side after fetching) */
|
|
155
|
+
attributePaths?: string[];
|
|
156
|
+
}
|
|
157
|
+
interface AttributeSortSelectorDialogResult {
|
|
158
|
+
selectedAttributes: AttributeSortItem[];
|
|
159
|
+
}
|
|
160
|
+
interface SortOption {
|
|
161
|
+
text: string;
|
|
162
|
+
value: 'standard' | 'ascending' | 'descending';
|
|
163
|
+
}
|
|
164
|
+
interface ValueTypeFilterOption {
|
|
165
|
+
text: string;
|
|
166
|
+
value: AttributeValueTypeDto$1 | null;
|
|
167
|
+
}
|
|
168
|
+
declare class AttributeSortSelectorDialogComponent implements OnInit {
|
|
169
|
+
private readonly windowRef;
|
|
170
|
+
private readonly attributeService;
|
|
171
|
+
private searchSubject;
|
|
172
|
+
data: AttributeSortSelectorDialogData;
|
|
173
|
+
ckTypeId: string;
|
|
174
|
+
includeNavigationProperties: boolean | undefined;
|
|
175
|
+
private attributePathsSet;
|
|
176
|
+
searchText: string;
|
|
177
|
+
currentSortOrder: 'standard' | 'ascending' | 'descending';
|
|
178
|
+
selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
|
|
179
|
+
availableAttributes: AttributeItem[];
|
|
180
|
+
selectedAttributes: AttributeSortItem[];
|
|
181
|
+
availableGridData: GridDataResult;
|
|
182
|
+
selectedGridData: GridDataResult;
|
|
183
|
+
selectedAvailableKeys: string[];
|
|
184
|
+
selectedChosenKeys: string[];
|
|
185
|
+
private lastClickTime;
|
|
186
|
+
private lastClickedItem;
|
|
187
|
+
private readonly doubleClickDelay;
|
|
188
|
+
dialogTitle: string;
|
|
189
|
+
sortOptions: SortOption[];
|
|
190
|
+
valueTypeOptions: ValueTypeFilterOption[];
|
|
191
|
+
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
192
|
+
protected readonly sortAscIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
193
|
+
protected readonly sortDescIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
194
|
+
ngOnInit(): void;
|
|
195
|
+
private loadAvailableAttributes;
|
|
196
|
+
onSearchChange(value: string): void;
|
|
197
|
+
onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
|
|
198
|
+
setSortOrder(order: 'standard' | 'ascending' | 'descending'): void;
|
|
199
|
+
addAttributeWithSort(): void;
|
|
200
|
+
onAvailableCellClick(event: CellClickEvent): void;
|
|
201
|
+
onSelectedCellClick(event: CellClickEvent): void;
|
|
202
|
+
private addAttributeToSelected;
|
|
203
|
+
removeAttribute(attribute: AttributeSortItem): void;
|
|
204
|
+
getSortIndicator(sortOrder: string): string;
|
|
205
|
+
getSortText(sortOrder: string): string;
|
|
206
|
+
private updateGrids;
|
|
207
|
+
private updateAvailableGrid;
|
|
208
|
+
private updateSelectedGrid;
|
|
209
|
+
onOk(): void;
|
|
210
|
+
onCancel(): void;
|
|
211
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSortSelectorDialogComponent, never>;
|
|
212
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeSortSelectorDialogComponent, "mm-attribute-sort-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
interface AttributeSortSelectorResult {
|
|
216
|
+
confirmed: boolean;
|
|
217
|
+
selectedAttributes: AttributeSortItem[];
|
|
218
|
+
}
|
|
219
|
+
declare class AttributeSortSelectorDialogService {
|
|
220
|
+
private readonly windowService;
|
|
221
|
+
private readonly windowStateService;
|
|
222
|
+
/**
|
|
223
|
+
* Opens the attribute sort selector dialog
|
|
224
|
+
* @param ckTypeId The CkType ID to fetch attributes for
|
|
225
|
+
* @param selectedAttributes Optional array of pre-selected attributes with sort orders
|
|
226
|
+
* @param dialogTitle Optional custom dialog title
|
|
227
|
+
* @param includeNavigationProperties Optional flag to control navigation property inclusion
|
|
228
|
+
* @param hideNavigationControls Optional flag to hide the navigation property controls
|
|
229
|
+
* @returns Promise that resolves with the result containing selected attributes with sort orders and confirmation status
|
|
230
|
+
*/
|
|
231
|
+
openAttributeSortSelector(ckTypeId: string, selectedAttributes?: AttributeSortItem[], dialogTitle?: string, includeNavigationProperties?: boolean, hideNavigationControls?: boolean, attributePaths?: string[]): Promise<AttributeSortSelectorResult>;
|
|
232
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSortSelectorDialogService, never>;
|
|
233
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AttributeSortSelectorDialogService>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
interface CkTypeSelectorDialogData {
|
|
237
|
+
selectedCkTypeId?: string;
|
|
238
|
+
ckModelIds?: string[];
|
|
239
|
+
dialogTitle?: string;
|
|
240
|
+
allowAbstract?: boolean;
|
|
241
|
+
derivedFromRtCkTypeId?: string;
|
|
242
|
+
}
|
|
243
|
+
interface CkTypeSelectorDialogResult {
|
|
244
|
+
selectedCkType: CkTypeSelectorItem$1;
|
|
245
|
+
}
|
|
246
|
+
declare class CkTypeSelectorDialogComponent implements OnInit, OnDestroy {
|
|
247
|
+
private readonly windowRef;
|
|
248
|
+
private readonly ckTypeSelectorService;
|
|
249
|
+
private searchSubject;
|
|
250
|
+
private subscriptions;
|
|
251
|
+
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
252
|
+
protected readonly filterClearIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
253
|
+
dialogTitle: string;
|
|
254
|
+
allowAbstract: boolean;
|
|
255
|
+
searchText: string;
|
|
256
|
+
selectedModel: string | null;
|
|
257
|
+
availableModels: string[];
|
|
258
|
+
gridData: GridDataResult;
|
|
259
|
+
isLoading: boolean;
|
|
260
|
+
pageSize: number;
|
|
261
|
+
skip: number;
|
|
262
|
+
selectedKeys: string[];
|
|
263
|
+
selectedType: CkTypeSelectorItem$1 | null;
|
|
264
|
+
selectItemBy: (context: RowArgs) => string;
|
|
265
|
+
private initialCkModelIds?;
|
|
266
|
+
derivedFromRtCkTypeId?: string;
|
|
267
|
+
private lastClickTime;
|
|
268
|
+
private lastClickRtCkTypeId;
|
|
269
|
+
/** Data passed from the service */
|
|
270
|
+
data?: CkTypeSelectorDialogData;
|
|
271
|
+
ngOnInit(): void;
|
|
272
|
+
ngOnDestroy(): void;
|
|
273
|
+
private loadTypes;
|
|
274
|
+
private getDerivedTypes;
|
|
275
|
+
private filterDerivedTypesFallback;
|
|
276
|
+
private loadAvailableModels;
|
|
277
|
+
onSearchChange(value: string): void;
|
|
278
|
+
onModelFilterChange(_value: string | null): void;
|
|
279
|
+
clearFilters(): void;
|
|
280
|
+
onPageChange(event: PageChangeEvent): void;
|
|
281
|
+
onSelectionChange(event: SelectionEvent): void;
|
|
282
|
+
onCellClick(event: CellClickEvent): void;
|
|
283
|
+
onCancel(): void;
|
|
284
|
+
onConfirm(): void;
|
|
285
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeSelectorDialogComponent, never>;
|
|
286
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CkTypeSelectorDialogComponent, "mm-ck-type-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
interface CkTypeSelectorResult {
|
|
290
|
+
confirmed: boolean;
|
|
291
|
+
selectedCkType: CkTypeSelectorItem$1 | null;
|
|
292
|
+
}
|
|
293
|
+
declare class CkTypeSelectorDialogService {
|
|
294
|
+
private readonly windowService;
|
|
295
|
+
private readonly windowStateService;
|
|
296
|
+
/**
|
|
297
|
+
* Opens the CkType selector dialog
|
|
298
|
+
* @param options Dialog options
|
|
299
|
+
* @returns Promise that resolves with the result containing selected CkType and confirmation status
|
|
300
|
+
*/
|
|
301
|
+
openCkTypeSelector(options?: {
|
|
302
|
+
selectedCkTypeId?: string;
|
|
303
|
+
ckModelIds?: string[];
|
|
304
|
+
dialogTitle?: string;
|
|
305
|
+
allowAbstract?: boolean;
|
|
306
|
+
derivedFromRtCkTypeId?: string;
|
|
307
|
+
}): Promise<CkTypeSelectorResult>;
|
|
308
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeSelectorDialogService, never>;
|
|
309
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CkTypeSelectorDialogService>;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
declare class CkTypeSelectorInputComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {
|
|
313
|
+
autocomplete: AutoCompleteComponent;
|
|
314
|
+
placeholder: string;
|
|
315
|
+
minSearchLength: number;
|
|
316
|
+
maxResults: number;
|
|
317
|
+
debounceMs: number;
|
|
318
|
+
ckModelIds?: string[];
|
|
319
|
+
allowAbstract: boolean;
|
|
320
|
+
dialogTitle: string;
|
|
321
|
+
advancedSearchLabel: string;
|
|
322
|
+
derivedFromRtCkTypeId?: string;
|
|
323
|
+
private _disabled;
|
|
324
|
+
get disabled(): boolean;
|
|
325
|
+
set disabled(value: boolean);
|
|
326
|
+
private _required;
|
|
327
|
+
get required(): boolean;
|
|
328
|
+
set required(value: boolean);
|
|
329
|
+
ckTypeSelected: EventEmitter<CkTypeSelectorItem$1>;
|
|
330
|
+
ckTypeCleared: EventEmitter<void>;
|
|
331
|
+
searchFormControl: FormControl<any>;
|
|
332
|
+
filteredTypes: string[];
|
|
333
|
+
selectedCkType: CkTypeSelectorItem$1 | null;
|
|
334
|
+
isLoading: boolean;
|
|
335
|
+
private typeMap;
|
|
336
|
+
private searchSubject;
|
|
337
|
+
private subscriptions;
|
|
338
|
+
private onChange;
|
|
339
|
+
private onTouched;
|
|
340
|
+
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
341
|
+
protected popupSettings: PopupSettings;
|
|
342
|
+
private static popupStyleInjected;
|
|
343
|
+
private readonly ckTypeSelectorService;
|
|
344
|
+
private readonly dialogService;
|
|
345
|
+
private readonly elementRef;
|
|
346
|
+
ngOnInit(): void;
|
|
347
|
+
ngOnDestroy(): void;
|
|
348
|
+
writeValue(value: CkTypeSelectorItem$1 | null): void;
|
|
349
|
+
registerOnChange(fn: (value: CkTypeSelectorItem$1 | null) => void): void;
|
|
350
|
+
registerOnTouched(fn: () => void): void;
|
|
351
|
+
setDisabledState(isDisabled: boolean): void;
|
|
352
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
353
|
+
onFilterChange(filter: string): void;
|
|
354
|
+
onSelectionChange(value: string): void;
|
|
355
|
+
onFocus(): void;
|
|
356
|
+
onBlur(): void;
|
|
357
|
+
clear(): void;
|
|
358
|
+
focus(): void;
|
|
359
|
+
reset(): void;
|
|
360
|
+
private setupSearch;
|
|
361
|
+
private getDerivedTypes;
|
|
362
|
+
private filterDerivedTypesFallback;
|
|
363
|
+
private injectPopupStyles;
|
|
364
|
+
private selectCkType;
|
|
365
|
+
openDialog(event?: Event): Promise<void>;
|
|
366
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeSelectorInputComponent, never>;
|
|
367
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CkTypeSelectorInputComponent, "mm-ck-type-selector-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "ckModelIds": { "alias": "ckModelIds"; "required": false; }; "allowAbstract": { "alias": "allowAbstract"; "required": false; }; "dialogTitle": { "alias": "dialogTitle"; "required": false; }; "advancedSearchLabel": { "alias": "advancedSearchLabel"; "required": false; }; "derivedFromRtCkTypeId": { "alias": "derivedFromRtCkTypeId"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "ckTypeSelected": "ckTypeSelected"; "ckTypeCleared": "ckTypeCleared"; }, never, never, true, never>;
|
|
368
|
+
}
|
|
13
369
|
|
|
14
370
|
declare abstract class OctoGraphQlDataSource<TDto> extends DataSourceTyped<TDto | null> {
|
|
15
371
|
private _searchFilterAttributePaths;
|
|
@@ -22,9 +378,204 @@ declare abstract class OctoGraphQlDataSource<TDto> extends DataSourceTyped<TDto
|
|
|
22
378
|
private static getOperatorAndValue;
|
|
23
379
|
}
|
|
24
380
|
|
|
25
|
-
declare abstract class OctoGraphQlHierarchyDataSource<TQueryDto> extends HierarchyDataSourceBase<TQueryDto> {
|
|
26
|
-
abstract fetchChildren(item: TreeItemDataTyped<TQueryDto>): Promise<TreeItemDataTyped<TQueryDto>[]>;
|
|
27
|
-
abstract fetchRootNodes(): Promise<TreeItemDataTyped<TQueryDto>[]>;
|
|
381
|
+
declare abstract class OctoGraphQlHierarchyDataSource<TQueryDto> extends HierarchyDataSourceBase<TQueryDto> {
|
|
382
|
+
abstract fetchChildren(item: TreeItemDataTyped<TQueryDto>): Promise<TreeItemDataTyped<TQueryDto>[]>;
|
|
383
|
+
abstract fetchRootNodes(): Promise<TreeItemDataTyped<TQueryDto>[]>;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
interface CopyOption {
|
|
387
|
+
label: string;
|
|
388
|
+
value: string;
|
|
389
|
+
displayText: string;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* A reusable component for displaying and copying entity identifiers.
|
|
393
|
+
* Provides a dropdown button with options to copy:
|
|
394
|
+
* - RtId: The runtime ObjectId
|
|
395
|
+
* - CkTypeId: The full versioned Construction Kit type ID
|
|
396
|
+
* - RtCkTypeId: The runtime CK type ID (unversioned)
|
|
397
|
+
* - RtEntityId: Combined format {RtCkTypeId}@{RtId}
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* ```html
|
|
401
|
+
* <mm-entity-id-info
|
|
402
|
+
* [rtId]="entity.rtId"
|
|
403
|
+
* [rtCkTypeId]="entity.ckTypeId"
|
|
404
|
+
* [ckTypeId]="entity.constructionKitType?.ckTypeId?.fullName">
|
|
405
|
+
* </mm-entity-id-info>
|
|
406
|
+
* ```
|
|
407
|
+
*/
|
|
408
|
+
declare class EntityIdInfoComponent {
|
|
409
|
+
private readonly notificationService;
|
|
410
|
+
protected readonly copyIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
411
|
+
/** The RtId (ObjectId) of the entity */
|
|
412
|
+
rtId: string;
|
|
413
|
+
/** The RtCkTypeId - runtime CK type ID (e.g., System.Communication/MeshAdapter) */
|
|
414
|
+
rtCkTypeId: string;
|
|
415
|
+
/** The CkTypeId - full versioned Construction Kit type ID (e.g., System.Communication-2.0.3/MeshAdapter-1) */
|
|
416
|
+
ckTypeId?: string;
|
|
417
|
+
protected get copyOptions(): CopyOption[];
|
|
418
|
+
private truncateValue;
|
|
419
|
+
protected copyToClipboard(option: CopyOption): Promise<void>;
|
|
420
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EntityIdInfoComponent, never>;
|
|
421
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntityIdInfoComponent, "mm-entity-id-info", never, { "rtId": { "alias": "rtId"; "required": true; }; "rtCkTypeId": { "alias": "rtCkTypeId"; "required": true; }; "ckTypeId": { "alias": "ckTypeId"; "required": false; }; }, {}, never, never, true, never>;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Variable definition for use in filter values.
|
|
426
|
+
* Generic interface that can be provided by any consumer (e.g., MeshBoard).
|
|
427
|
+
*/
|
|
428
|
+
interface FilterVariable {
|
|
429
|
+
/** Variable name (without $ prefix) */
|
|
430
|
+
name: string;
|
|
431
|
+
/** Display label for UI */
|
|
432
|
+
label?: string;
|
|
433
|
+
/** Variable data type */
|
|
434
|
+
type?: 'string' | 'number' | 'boolean' | 'date' | 'datetime';
|
|
435
|
+
}
|
|
436
|
+
interface FieldFilterItem extends FieldFilterDto {
|
|
437
|
+
id: number;
|
|
438
|
+
/** If true, comparisonValue contains a variable reference (e.g., $myVar) */
|
|
439
|
+
useVariable?: boolean;
|
|
440
|
+
}
|
|
441
|
+
type InputType = 'text' | 'number' | 'boolean' | 'datetime';
|
|
442
|
+
declare class FieldFilterEditorComponent implements OnChanges {
|
|
443
|
+
private readonly attributeService;
|
|
444
|
+
protected readonly plusIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
445
|
+
protected readonly minusIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
446
|
+
protected readonly trashIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
447
|
+
protected readonly dollarIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
448
|
+
private readonly arrayOperators;
|
|
449
|
+
readonly operators: {
|
|
450
|
+
label: string;
|
|
451
|
+
value: FieldFilterOperatorsDto;
|
|
452
|
+
}[];
|
|
453
|
+
readonly booleanOptions: string[];
|
|
454
|
+
availableAttributes: AttributeItem[];
|
|
455
|
+
/**
|
|
456
|
+
* Optional CK type ID for self-loading attributes.
|
|
457
|
+
* When set, the component loads available attributes itself and shows
|
|
458
|
+
* navigation property controls (checkbox + max depth).
|
|
459
|
+
* When not set, the component uses the externally provided availableAttributes input.
|
|
460
|
+
*/
|
|
461
|
+
ckTypeId?: string;
|
|
462
|
+
/**
|
|
463
|
+
* When true, hides the "Include Navigation Properties" checkbox and Max Depth controls,
|
|
464
|
+
* and forces attribute loading without navigation properties.
|
|
465
|
+
* Used for stream data queries which don't support navigation properties.
|
|
466
|
+
*/
|
|
467
|
+
hideNavigationProperties: boolean;
|
|
468
|
+
/**
|
|
469
|
+
* When set, restricts the available attributes to only these attribute paths (filtered client-side after fetching).
|
|
470
|
+
* Used for stream data queries to show only stream-data-enabled attributes.
|
|
471
|
+
*/
|
|
472
|
+
attributePaths?: string[];
|
|
473
|
+
/** Enable variable mode - allows using variables instead of literal values */
|
|
474
|
+
enableVariables: boolean;
|
|
475
|
+
/** Available variables for selection when enableVariables is true */
|
|
476
|
+
availableVariables: FilterVariable[];
|
|
477
|
+
/** Controls for self-loading mode (when ckTypeId is set) */
|
|
478
|
+
includeNavigationProperties: boolean;
|
|
479
|
+
maxDepth: number | null;
|
|
480
|
+
isLoadingAttributes: boolean;
|
|
481
|
+
private _filters;
|
|
482
|
+
private nextId;
|
|
483
|
+
filteredAttributeList: AttributeItem[];
|
|
484
|
+
private attributeTypeMap;
|
|
485
|
+
get filters(): FieldFilterItem[];
|
|
486
|
+
set filters(value: FieldFilterItem[]);
|
|
487
|
+
filtersChange: EventEmitter<FieldFilterItem[]>;
|
|
488
|
+
selectedKeys: number[];
|
|
489
|
+
ngOnChanges(changes?: SimpleChanges): void;
|
|
490
|
+
/**
|
|
491
|
+
* Detects filters that contain variable references and sets useVariable flag.
|
|
492
|
+
* This ensures proper display when filters are loaded from saved configuration.
|
|
493
|
+
*/
|
|
494
|
+
private detectVariableFilters;
|
|
495
|
+
private buildAttributeTypeMap;
|
|
496
|
+
onNavigationPropertiesChange(): void;
|
|
497
|
+
onMaxDepthChange(value: number | null): void;
|
|
498
|
+
private loadAttributesFromCkType;
|
|
499
|
+
private filterAvailableAttributes;
|
|
500
|
+
private getAttributeDepth;
|
|
501
|
+
addFilter(): void;
|
|
502
|
+
removeFilter(filter: FieldFilterItem): void;
|
|
503
|
+
removeSelected(): void;
|
|
504
|
+
onFilterChange(): void;
|
|
505
|
+
onAttributeChange(filter: FieldFilterItem, attributePath: string): void;
|
|
506
|
+
onOperatorChange(filter: FieldFilterItem): void;
|
|
507
|
+
onComparisonValueChange(filter: FieldFilterItem, inputValue: string | null): void;
|
|
508
|
+
onComparisonValueBlur(filter: FieldFilterItem): void;
|
|
509
|
+
onBooleanValueChange(filter: FieldFilterItem, value: string): void;
|
|
510
|
+
onNumericValueChange(filter: FieldFilterItem, value: number | null): void;
|
|
511
|
+
onDateTimeValueChange(filter: FieldFilterItem, value: Date | null): void;
|
|
512
|
+
getDisplayValue(filter: FieldFilterItem): string;
|
|
513
|
+
getBooleanValue(filter: FieldFilterItem): string;
|
|
514
|
+
getNumericValue(filter: FieldFilterItem): number;
|
|
515
|
+
getDateTimeValue(filter: FieldFilterItem): Date | null;
|
|
516
|
+
getInputType(filter: FieldFilterItem): InputType;
|
|
517
|
+
getDecimals(filter: FieldFilterItem): number;
|
|
518
|
+
getNumberFormat(filter: FieldFilterItem): string;
|
|
519
|
+
getValuePlaceholder(filter: FieldFilterItem): string;
|
|
520
|
+
isArrayOperator(operator: FieldFilterOperatorsDto): boolean;
|
|
521
|
+
isSelected(filter: FieldFilterItem): boolean;
|
|
522
|
+
toggleSelection(filter: FieldFilterItem): void;
|
|
523
|
+
isAllSelected(): boolean;
|
|
524
|
+
isIndeterminate(): boolean;
|
|
525
|
+
toggleSelectAll(event: Event): void;
|
|
526
|
+
onAttributeFilterChange(filter: string): void;
|
|
527
|
+
/**
|
|
528
|
+
* Toggles between literal value and variable mode for a filter.
|
|
529
|
+
*/
|
|
530
|
+
toggleVariableMode(filter: FieldFilterItem): void;
|
|
531
|
+
/**
|
|
532
|
+
* Gets the selected variable object for a filter that uses variable mode.
|
|
533
|
+
*/
|
|
534
|
+
getSelectedVariable(filter: FieldFilterItem): FilterVariable | null;
|
|
535
|
+
/**
|
|
536
|
+
* Handles variable selection from the dropdown.
|
|
537
|
+
*/
|
|
538
|
+
onVariableSelected(filter: FieldFilterItem, variable: FilterVariable | null): void;
|
|
539
|
+
/**
|
|
540
|
+
* Extracts variable name from ${variableName} or $variableName format.
|
|
541
|
+
*/
|
|
542
|
+
private extractVariableName;
|
|
543
|
+
/**
|
|
544
|
+
* Checks if a filter value is a variable reference.
|
|
545
|
+
*/
|
|
546
|
+
isVariableValue(value: unknown): boolean;
|
|
547
|
+
/**
|
|
548
|
+
* Formats a variable name for display (e.g., "myVar" -> "${myVar}").
|
|
549
|
+
*/
|
|
550
|
+
formatVariableDisplay(name: string): string;
|
|
551
|
+
getFieldFilters(): FieldFilterDto[];
|
|
552
|
+
setFieldFilters(filters: FieldFilterDto[]): void;
|
|
553
|
+
clear(): void;
|
|
554
|
+
private isArrayValue;
|
|
555
|
+
private extractArrayContent;
|
|
556
|
+
private parseAndCleanArrayValues;
|
|
557
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldFilterEditorComponent, never>;
|
|
558
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldFilterEditorComponent, "mm-field-filter-editor", never, { "availableAttributes": { "alias": "availableAttributes"; "required": false; }; "ckTypeId": { "alias": "ckTypeId"; "required": false; }; "hideNavigationProperties": { "alias": "hideNavigationProperties"; "required": false; }; "attributePaths": { "alias": "attributePaths"; "required": false; }; "enableVariables": { "alias": "enableVariables"; "required": false; }; "availableVariables": { "alias": "availableVariables"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, { "filtersChange": "filtersChange"; }, never, never, true, never>;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* Animated OctoMesh logo loader component.
|
|
563
|
+
* Displays the OctoMesh octopus SVG with wiggling tentacles
|
|
564
|
+
* and orbiting data blocks representing data loading.
|
|
565
|
+
*
|
|
566
|
+
* Uses `--kendo-color-primary` for theme-independent coloring.
|
|
567
|
+
* Override the color via CSS `color` property on the host element.
|
|
568
|
+
*
|
|
569
|
+
* @example
|
|
570
|
+
* ```html
|
|
571
|
+
* <mm-octo-loader [size]="'medium'"></mm-octo-loader>
|
|
572
|
+
* <mm-octo-loader [size]="'small'"></mm-octo-loader>
|
|
573
|
+
* ```
|
|
574
|
+
*/
|
|
575
|
+
declare class OctoLoaderComponent {
|
|
576
|
+
size: 'small' | 'medium';
|
|
577
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OctoLoaderComponent, never>;
|
|
578
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OctoLoaderComponent, "mm-octo-loader", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
28
579
|
}
|
|
29
580
|
|
|
30
581
|
declare enum AttributeValueTypeDto {
|
|
@@ -359,598 +910,880 @@ declare class PropertyValueDisplayComponent implements OnInit {
|
|
|
359
910
|
key: string;
|
|
360
911
|
value: unknown;
|
|
361
912
|
}[];
|
|
362
|
-
/**
|
|
363
|
-
* Determine the appropriate type for a nested property value
|
|
364
|
-
*/
|
|
365
|
-
getPropertyType(value: unknown): AttributeValueTypeDto;
|
|
366
|
-
/**
|
|
367
|
-
* Check if this is a BINARY_LINKED type with download capability
|
|
368
|
-
*/
|
|
369
|
-
isBinaryLinkedWithDownload(): boolean;
|
|
370
|
-
/**
|
|
371
|
-
* Get the filename from binary info
|
|
372
|
-
*/
|
|
373
|
-
getBinaryFilename(): string | null;
|
|
374
|
-
/**
|
|
375
|
-
* Get the file size from binary info
|
|
376
|
-
*/
|
|
377
|
-
getBinarySize(): number | null;
|
|
378
|
-
/**
|
|
379
|
-
* Get the content type from binary info
|
|
380
|
-
*/
|
|
381
|
-
getBinaryContentType(): string | null;
|
|
382
|
-
/**
|
|
383
|
-
* Format file size to human readable format
|
|
384
|
-
*/
|
|
385
|
-
formatFileSize(bytes: number | null): string;
|
|
386
|
-
/**
|
|
387
|
-
* Handle download button click
|
|
388
|
-
*/
|
|
389
|
-
onDownload(): void;
|
|
390
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PropertyValueDisplayComponent, never>;
|
|
391
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PropertyValueDisplayComponent, "mm-property-value-display", never, { "value": { "alias": "value"; "required": false; }; "type": { "alias": "type"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "binaryDownload": "binaryDownload"; }, never, never, true, never>;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
interface AttributeSelectorDialogData {
|
|
395
|
-
rtCkTypeId: string;
|
|
396
|
-
selectedAttributes?: string[];
|
|
397
|
-
dialogTitle?: string;
|
|
398
|
-
singleSelect?: boolean;
|
|
399
|
-
includeNavigationProperties?: boolean;
|
|
400
|
-
maxDepth?: number;
|
|
401
|
-
/** Additional virtual attributes to include in the available list (e.g., Timestamp for stream data queries) */
|
|
402
|
-
additionalAttributes?: AttributeItem[];
|
|
403
|
-
/** When true, hides the navigation properties checkbox and max depth controls */
|
|
404
|
-
hideNavigationControls?: boolean;
|
|
405
|
-
/** When set, restricts the available attributes to only these attribute paths (filtered client-side after fetching) */
|
|
406
|
-
attributePaths?: string[];
|
|
407
|
-
}
|
|
408
|
-
interface AttributeSelectorDialogResult {
|
|
409
|
-
selectedAttributes: AttributeItem[];
|
|
410
|
-
}
|
|
411
|
-
interface ValueTypeFilterOption$1 {
|
|
412
|
-
text: string;
|
|
413
|
-
value: AttributeValueTypeDto$1 | null;
|
|
414
|
-
}
|
|
415
|
-
declare class AttributeSelectorDialogComponent implements OnInit {
|
|
416
|
-
private readonly windowRef;
|
|
417
|
-
private readonly attributeService;
|
|
418
|
-
private searchSubject;
|
|
419
|
-
protected readonly arrowRightIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
420
|
-
protected readonly arrowLeftIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
421
|
-
protected readonly chevronDoubleRightIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
422
|
-
protected readonly chevronDoubleLeftIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
423
|
-
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
424
|
-
protected readonly arrowUpIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
425
|
-
protected readonly arrowDownIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
426
|
-
data: AttributeSelectorDialogData;
|
|
427
|
-
dialogTitle: string;
|
|
428
|
-
rtCkTypeId: string;
|
|
429
|
-
singleSelect: boolean;
|
|
430
|
-
private additionalAttributes;
|
|
431
|
-
searchText: string;
|
|
432
|
-
selectedSingleKey: string[];
|
|
433
|
-
selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
|
|
434
|
-
includeNavigationProperties: boolean;
|
|
435
|
-
maxDepth: number | null;
|
|
436
|
-
hideNavigationControls: boolean;
|
|
437
|
-
private attributePathsSet;
|
|
438
|
-
availableAttributes: AttributeItem[];
|
|
439
|
-
selectedAttributes: AttributeItem[];
|
|
440
|
-
availableGridData: GridDataResult;
|
|
441
|
-
selectedGridData: GridDataResult;
|
|
442
|
-
selectedAvailableKeys: string[];
|
|
443
|
-
selectedChosenKeys: string[];
|
|
444
|
-
valueTypeOptions: ValueTypeFilterOption$1[];
|
|
445
|
-
private lastClickTime;
|
|
446
|
-
private lastClickedItem;
|
|
447
|
-
private readonly doubleClickDelay;
|
|
448
|
-
ngOnInit(): void;
|
|
449
|
-
private loadAvailableAttributes;
|
|
450
|
-
private loadInitialSelectedAttributes;
|
|
451
|
-
onSearchChange(value: string): void;
|
|
452
|
-
onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
|
|
453
|
-
onNavigationPropertiesChange(): void;
|
|
454
|
-
onMaxDepthChange(value: number | null): void;
|
|
455
|
-
addSelected(): void;
|
|
456
|
-
removeSelected(): void;
|
|
457
|
-
addAll(): void;
|
|
458
|
-
removeAll(): void;
|
|
459
|
-
private sortAvailableAttributes;
|
|
460
|
-
canMoveUp(): boolean;
|
|
461
|
-
canMoveDown(): boolean;
|
|
462
|
-
moveUp(): void;
|
|
463
|
-
moveDown(): void;
|
|
464
|
-
private updateGrids;
|
|
465
|
-
private updateAvailableGrid;
|
|
466
|
-
private updateSelectedGrid;
|
|
467
|
-
onCancel(): void;
|
|
468
|
-
onConfirm(): void;
|
|
469
|
-
/**
|
|
470
|
-
* Handle cell click on available attributes grid to detect double-click
|
|
471
|
-
*/
|
|
472
|
-
onAvailableCellClick(event: CellClickEvent): void;
|
|
473
|
-
/**
|
|
474
|
-
* Handle cell click on selected attributes grid to detect double-click
|
|
475
|
-
*/
|
|
476
|
-
onSelectedCellClick(event: CellClickEvent): void;
|
|
477
|
-
/**
|
|
478
|
-
* Handle cell click on single-select grid to detect double-click (confirm immediately)
|
|
479
|
-
*/
|
|
480
|
-
onSingleSelectCellClick(event: CellClickEvent): void;
|
|
481
|
-
/**
|
|
482
|
-
* Move a single attribute from available to selected
|
|
483
|
-
*/
|
|
484
|
-
private moveAttributeToSelected;
|
|
485
|
-
/**
|
|
486
|
-
* Move a single attribute from selected to available
|
|
487
|
-
*/
|
|
488
|
-
private moveAttributeToAvailable;
|
|
489
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSelectorDialogComponent, never>;
|
|
490
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeSelectorDialogComponent, "mm-attribute-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
interface AttributeSelectorResult {
|
|
494
|
-
confirmed: boolean;
|
|
495
|
-
selectedAttributes: AttributeItem[];
|
|
496
|
-
}
|
|
497
|
-
declare class AttributeSelectorDialogService {
|
|
498
|
-
private readonly windowService;
|
|
499
|
-
private readonly windowStateService;
|
|
500
|
-
/**
|
|
501
|
-
* Opens the attribute selector dialog
|
|
502
|
-
* @param rtCkTypeId The RtCkType ID to fetch attributes for
|
|
503
|
-
* @param selectedAttributes Optional array of pre-selected attribute paths
|
|
504
|
-
* @param dialogTitle Optional custom dialog title
|
|
505
|
-
* @param singleSelect Optional flag for single-select mode
|
|
506
|
-
* @param additionalAttributes Optional virtual attributes to include (e.g., Timestamp for stream data)
|
|
507
|
-
* @param includeNavigationProperties Optional flag to control navigation property inclusion
|
|
508
|
-
* @param maxDepth Optional max depth for navigation properties
|
|
509
|
-
* @param hideNavigationControls Optional flag to hide the navigation property controls in the dialog
|
|
510
|
-
* @returns Promise that resolves with the result containing selected attributes and confirmation status
|
|
511
|
-
*/
|
|
512
|
-
openAttributeSelector(rtCkTypeId: string, selectedAttributes?: string[], dialogTitle?: string, singleSelect?: boolean, additionalAttributes?: AttributeItem[], includeNavigationProperties?: boolean, maxDepth?: number, hideNavigationControls?: boolean, attributePaths?: string[]): Promise<AttributeSelectorResult>;
|
|
513
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSelectorDialogService, never>;
|
|
514
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AttributeSelectorDialogService>;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
interface AttributeSortItem {
|
|
518
|
-
attributePath: string;
|
|
519
|
-
attributeValueType: string;
|
|
520
|
-
sortOrder: 'standard' | 'ascending' | 'descending';
|
|
521
|
-
}
|
|
522
|
-
interface AttributeSortSelectorDialogData {
|
|
523
|
-
ckTypeId: string;
|
|
524
|
-
selectedAttributes?: AttributeSortItem[];
|
|
525
|
-
dialogTitle?: string;
|
|
526
|
-
/** When set, controls whether navigation properties are included in the attribute list */
|
|
527
|
-
includeNavigationProperties?: boolean;
|
|
528
|
-
/** When true, hides the navigation property controls (if they were to be added) */
|
|
529
|
-
hideNavigationControls?: boolean;
|
|
530
|
-
/** When set, restricts the available attributes to only these attribute paths (filtered client-side after fetching) */
|
|
531
|
-
attributePaths?: string[];
|
|
532
|
-
}
|
|
533
|
-
interface AttributeSortSelectorDialogResult {
|
|
534
|
-
selectedAttributes: AttributeSortItem[];
|
|
535
|
-
}
|
|
536
|
-
interface SortOption {
|
|
537
|
-
text: string;
|
|
538
|
-
value: 'standard' | 'ascending' | 'descending';
|
|
539
|
-
}
|
|
540
|
-
interface ValueTypeFilterOption {
|
|
541
|
-
text: string;
|
|
542
|
-
value: AttributeValueTypeDto$1 | null;
|
|
543
|
-
}
|
|
544
|
-
declare class AttributeSortSelectorDialogComponent implements OnInit {
|
|
545
|
-
private readonly windowRef;
|
|
546
|
-
private readonly attributeService;
|
|
547
|
-
private searchSubject;
|
|
548
|
-
data: AttributeSortSelectorDialogData;
|
|
549
|
-
ckTypeId: string;
|
|
550
|
-
includeNavigationProperties: boolean | undefined;
|
|
551
|
-
private attributePathsSet;
|
|
552
|
-
searchText: string;
|
|
553
|
-
currentSortOrder: 'standard' | 'ascending' | 'descending';
|
|
554
|
-
selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
|
|
555
|
-
availableAttributes: AttributeItem[];
|
|
556
|
-
selectedAttributes: AttributeSortItem[];
|
|
557
|
-
availableGridData: GridDataResult;
|
|
558
|
-
selectedGridData: GridDataResult;
|
|
559
|
-
selectedAvailableKeys: string[];
|
|
560
|
-
selectedChosenKeys: string[];
|
|
561
|
-
private lastClickTime;
|
|
562
|
-
private lastClickedItem;
|
|
563
|
-
private readonly doubleClickDelay;
|
|
564
|
-
dialogTitle: string;
|
|
565
|
-
sortOptions: SortOption[];
|
|
566
|
-
valueTypeOptions: ValueTypeFilterOption[];
|
|
567
|
-
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
568
|
-
protected readonly sortAscIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
569
|
-
protected readonly sortDescIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
570
|
-
ngOnInit(): void;
|
|
571
|
-
private loadAvailableAttributes;
|
|
572
|
-
onSearchChange(value: string): void;
|
|
573
|
-
onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
|
|
574
|
-
setSortOrder(order: 'standard' | 'ascending' | 'descending'): void;
|
|
575
|
-
addAttributeWithSort(): void;
|
|
576
|
-
onAvailableCellClick(event: CellClickEvent): void;
|
|
577
|
-
onSelectedCellClick(event: CellClickEvent): void;
|
|
578
|
-
private addAttributeToSelected;
|
|
579
|
-
removeAttribute(attribute: AttributeSortItem): void;
|
|
580
|
-
getSortIndicator(sortOrder: string): string;
|
|
581
|
-
getSortText(sortOrder: string): string;
|
|
582
|
-
private updateGrids;
|
|
583
|
-
private updateAvailableGrid;
|
|
584
|
-
private updateSelectedGrid;
|
|
585
|
-
onOk(): void;
|
|
586
|
-
onCancel(): void;
|
|
587
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeSortSelectorDialogComponent, never>;
|
|
588
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeSortSelectorDialogComponent, "mm-attribute-sort-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
913
|
+
/**
|
|
914
|
+
* Determine the appropriate type for a nested property value
|
|
915
|
+
*/
|
|
916
|
+
getPropertyType(value: unknown): AttributeValueTypeDto;
|
|
917
|
+
/**
|
|
918
|
+
* Check if this is a BINARY_LINKED type with download capability
|
|
919
|
+
*/
|
|
920
|
+
isBinaryLinkedWithDownload(): boolean;
|
|
921
|
+
/**
|
|
922
|
+
* Get the filename from binary info
|
|
923
|
+
*/
|
|
924
|
+
getBinaryFilename(): string | null;
|
|
925
|
+
/**
|
|
926
|
+
* Get the file size from binary info
|
|
927
|
+
*/
|
|
928
|
+
getBinarySize(): number | null;
|
|
929
|
+
/**
|
|
930
|
+
* Get the content type from binary info
|
|
931
|
+
*/
|
|
932
|
+
getBinaryContentType(): string | null;
|
|
933
|
+
/**
|
|
934
|
+
* Format file size to human readable format
|
|
935
|
+
*/
|
|
936
|
+
formatFileSize(bytes: number | null): string;
|
|
937
|
+
/**
|
|
938
|
+
* Handle download button click
|
|
939
|
+
*/
|
|
940
|
+
onDownload(): void;
|
|
941
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PropertyValueDisplayComponent, never>;
|
|
942
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PropertyValueDisplayComponent, "mm-property-value-display", never, { "value": { "alias": "value"; "required": false; }; "type": { "alias": "type"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "binaryDownload": "binaryDownload"; }, never, never, true, never>;
|
|
589
943
|
}
|
|
590
944
|
|
|
591
|
-
interface
|
|
592
|
-
|
|
593
|
-
|
|
945
|
+
interface RtEntityId {
|
|
946
|
+
rtId: string;
|
|
947
|
+
ckTypeId: string;
|
|
594
948
|
}
|
|
595
|
-
declare class
|
|
596
|
-
private readonly windowService;
|
|
597
|
-
private readonly windowStateService;
|
|
949
|
+
declare class RtEntityIdHelper {
|
|
598
950
|
/**
|
|
599
|
-
*
|
|
600
|
-
* @param ckTypeId The CkType ID to fetch attributes for
|
|
601
|
-
* @param selectedAttributes Optional array of pre-selected attributes with sort orders
|
|
602
|
-
* @param dialogTitle Optional custom dialog title
|
|
603
|
-
* @param includeNavigationProperties Optional flag to control navigation property inclusion
|
|
604
|
-
* @param hideNavigationControls Optional flag to hide the navigation property controls
|
|
605
|
-
* @returns Promise that resolves with the result containing selected attributes with sort orders and confirmation status
|
|
951
|
+
* Encodes ckTypeId@rtId into a URL-safe Base64 string for routing
|
|
606
952
|
*/
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
953
|
+
static encode(rtId: string, ckTypeId: string): string;
|
|
954
|
+
/**
|
|
955
|
+
* Encodes a ckTypeId@rtId string directly into a URL-safe Base64 string
|
|
956
|
+
*/
|
|
957
|
+
static encodeFromString(entityIdentifier: string): string;
|
|
958
|
+
/**
|
|
959
|
+
* Decodes URL parameter back to RtEntityId
|
|
960
|
+
*/
|
|
961
|
+
static decode(encoded: string): RtEntityId;
|
|
962
|
+
/**
|
|
963
|
+
* Validates if a string is in the correct ckTypeId@rtId format
|
|
964
|
+
*/
|
|
965
|
+
static isValidFormat(entityIdentifier: string): boolean;
|
|
610
966
|
}
|
|
611
967
|
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
968
|
+
declare class EntityDetailComponent implements OnInit, OnDestroy {
|
|
969
|
+
private readonly location;
|
|
970
|
+
private readonly route;
|
|
971
|
+
private readonly router;
|
|
972
|
+
private readonly dataSource;
|
|
973
|
+
private readonly destroy$;
|
|
974
|
+
protected readonly arrowLeftIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
975
|
+
entity: RtEntityDto | null;
|
|
976
|
+
loading: boolean;
|
|
977
|
+
error: string | null;
|
|
978
|
+
entityId: RtEntityId | null;
|
|
979
|
+
ngOnInit(): Promise<void>;
|
|
980
|
+
ngOnDestroy(): void;
|
|
981
|
+
loadEntity(): Promise<void>;
|
|
982
|
+
navigateBack(): void;
|
|
983
|
+
navigateToEntity(rtId: string, ckTypeId: string): Promise<void>;
|
|
984
|
+
getEntityDisplayName(): string;
|
|
985
|
+
/**
|
|
986
|
+
* Handle property value changes from the property grid
|
|
987
|
+
*/
|
|
988
|
+
onPropertyChange(event: unknown): void;
|
|
989
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EntityDetailComponent, never>;
|
|
990
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntityDetailComponent, "mm-entity-detail", never, {}, {}, never, never, true, never>;
|
|
618
991
|
}
|
|
619
|
-
|
|
620
|
-
|
|
992
|
+
|
|
993
|
+
declare const botService: {
|
|
994
|
+
name: string;
|
|
995
|
+
content: string;
|
|
996
|
+
viewBox: string;
|
|
997
|
+
};
|
|
998
|
+
declare const dashboard: {
|
|
999
|
+
name: string;
|
|
1000
|
+
content: string;
|
|
1001
|
+
viewBox: string;
|
|
1002
|
+
};
|
|
1003
|
+
declare const tenancy: {
|
|
1004
|
+
name: string;
|
|
1005
|
+
content: string;
|
|
1006
|
+
viewBox: string;
|
|
1007
|
+
};
|
|
1008
|
+
declare const code: {
|
|
1009
|
+
name: string;
|
|
1010
|
+
content: string;
|
|
1011
|
+
viewBox: string;
|
|
1012
|
+
};
|
|
1013
|
+
declare const identityService: {
|
|
1014
|
+
name: string;
|
|
1015
|
+
content: string;
|
|
1016
|
+
viewBox: string;
|
|
1017
|
+
};
|
|
1018
|
+
declare const storage: {
|
|
1019
|
+
name: string;
|
|
1020
|
+
content: string;
|
|
1021
|
+
viewBox: string;
|
|
1022
|
+
};
|
|
1023
|
+
declare const publicIcon: {
|
|
1024
|
+
name: string;
|
|
1025
|
+
content: string;
|
|
1026
|
+
viewBox: string;
|
|
1027
|
+
};
|
|
1028
|
+
declare const power: {
|
|
1029
|
+
name: string;
|
|
1030
|
+
content: string;
|
|
1031
|
+
viewBox: string;
|
|
1032
|
+
};
|
|
1033
|
+
declare const team_dashboard: {
|
|
1034
|
+
name: string;
|
|
1035
|
+
content: string;
|
|
1036
|
+
viewBox: string;
|
|
1037
|
+
};
|
|
1038
|
+
declare const swagger_asset: {
|
|
1039
|
+
name: string;
|
|
1040
|
+
content: string;
|
|
1041
|
+
viewBox: string;
|
|
1042
|
+
};
|
|
1043
|
+
declare const swagger_bot: {
|
|
1044
|
+
name: string;
|
|
1045
|
+
content: string;
|
|
1046
|
+
viewBox: string;
|
|
1047
|
+
};
|
|
1048
|
+
declare const swagger_identity: {
|
|
1049
|
+
name: string;
|
|
1050
|
+
content: string;
|
|
1051
|
+
viewBox: string;
|
|
1052
|
+
};
|
|
1053
|
+
declare const swagger_communication: {
|
|
1054
|
+
name: string;
|
|
1055
|
+
content: string;
|
|
1056
|
+
viewBox: string;
|
|
1057
|
+
};
|
|
1058
|
+
declare const swagger: {
|
|
1059
|
+
name: string;
|
|
1060
|
+
content: string;
|
|
1061
|
+
viewBox: string;
|
|
1062
|
+
};
|
|
1063
|
+
declare const user_diagnostics: {
|
|
1064
|
+
name: string;
|
|
1065
|
+
content: string;
|
|
1066
|
+
viewBox: string;
|
|
1067
|
+
};
|
|
1068
|
+
declare const work: {
|
|
1069
|
+
name: string;
|
|
1070
|
+
content: string;
|
|
1071
|
+
viewBox: string;
|
|
1072
|
+
};
|
|
1073
|
+
declare const more_time: {
|
|
1074
|
+
name: string;
|
|
1075
|
+
content: string;
|
|
1076
|
+
viewBox: string;
|
|
1077
|
+
};
|
|
1078
|
+
declare const manage_accounts: {
|
|
1079
|
+
name: string;
|
|
1080
|
+
content: string;
|
|
1081
|
+
viewBox: string;
|
|
1082
|
+
};
|
|
1083
|
+
declare const group: {
|
|
1084
|
+
name: string;
|
|
1085
|
+
content: string;
|
|
1086
|
+
viewBox: string;
|
|
1087
|
+
};
|
|
1088
|
+
declare const app_registration: {
|
|
1089
|
+
name: string;
|
|
1090
|
+
content: string;
|
|
1091
|
+
viewBox: string;
|
|
1092
|
+
};
|
|
1093
|
+
declare const settings: {
|
|
1094
|
+
name: string;
|
|
1095
|
+
content: string;
|
|
1096
|
+
viewBox: string;
|
|
1097
|
+
};
|
|
1098
|
+
declare const account_tree: {
|
|
1099
|
+
name: string;
|
|
1100
|
+
content: string;
|
|
1101
|
+
viewBox: string;
|
|
1102
|
+
};
|
|
1103
|
+
declare const analytics: {
|
|
1104
|
+
name: string;
|
|
1105
|
+
content: string;
|
|
1106
|
+
viewBox: string;
|
|
1107
|
+
};
|
|
1108
|
+
declare const travel_explore: {
|
|
1109
|
+
name: string;
|
|
1110
|
+
content: string;
|
|
1111
|
+
viewBox: string;
|
|
1112
|
+
};
|
|
1113
|
+
declare const page_info: {
|
|
1114
|
+
name: string;
|
|
1115
|
+
content: string;
|
|
1116
|
+
viewBox: string;
|
|
1117
|
+
};
|
|
1118
|
+
declare const query_builder: {
|
|
1119
|
+
name: string;
|
|
1120
|
+
content: string;
|
|
1121
|
+
viewBox: string;
|
|
1122
|
+
};
|
|
1123
|
+
declare const event_list: {
|
|
1124
|
+
name: string;
|
|
1125
|
+
content: string;
|
|
1126
|
+
viewBox: string;
|
|
1127
|
+
};
|
|
1128
|
+
declare const graphic_eq: {
|
|
1129
|
+
name: string;
|
|
1130
|
+
content: string;
|
|
1131
|
+
viewBox: string;
|
|
1132
|
+
};
|
|
1133
|
+
declare const pool: {
|
|
1134
|
+
name: string;
|
|
1135
|
+
content: string;
|
|
1136
|
+
viewBox: string;
|
|
1137
|
+
};
|
|
1138
|
+
declare const component_exchange: {
|
|
1139
|
+
name: string;
|
|
1140
|
+
content: string;
|
|
1141
|
+
viewBox: string;
|
|
1142
|
+
};
|
|
1143
|
+
declare const schedule_send: {
|
|
1144
|
+
name: string;
|
|
1145
|
+
content: string;
|
|
1146
|
+
viewBox: string;
|
|
1147
|
+
};
|
|
1148
|
+
declare const text_snippet: {
|
|
1149
|
+
name: string;
|
|
1150
|
+
content: string;
|
|
1151
|
+
viewBox: string;
|
|
1152
|
+
};
|
|
1153
|
+
declare const notifications: {
|
|
1154
|
+
name: string;
|
|
1155
|
+
content: string;
|
|
1156
|
+
viewBox: string;
|
|
1157
|
+
};
|
|
1158
|
+
declare const webhook: {
|
|
1159
|
+
name: string;
|
|
1160
|
+
content: string;
|
|
1161
|
+
viewBox: string;
|
|
1162
|
+
};
|
|
1163
|
+
declare const pages: {
|
|
1164
|
+
name: string;
|
|
1165
|
+
content: string;
|
|
1166
|
+
viewBox: string;
|
|
1167
|
+
};
|
|
1168
|
+
declare const insert_link: {
|
|
1169
|
+
name: string;
|
|
1170
|
+
content: string;
|
|
1171
|
+
viewBox: string;
|
|
1172
|
+
};
|
|
1173
|
+
declare const add: {
|
|
1174
|
+
name: string;
|
|
1175
|
+
content: string;
|
|
1176
|
+
viewBox: string;
|
|
1177
|
+
};
|
|
1178
|
+
declare const customer: {
|
|
1179
|
+
name: string;
|
|
1180
|
+
content: string;
|
|
1181
|
+
viewBox: string;
|
|
1182
|
+
};
|
|
1183
|
+
declare const computer: {
|
|
1184
|
+
name: string;
|
|
1185
|
+
content: string;
|
|
1186
|
+
viewBox: string;
|
|
1187
|
+
};
|
|
1188
|
+
declare const checklist: {
|
|
1189
|
+
name: string;
|
|
1190
|
+
content: string;
|
|
1191
|
+
viewBox: string;
|
|
1192
|
+
};
|
|
1193
|
+
declare const sort: {
|
|
1194
|
+
name: string;
|
|
1195
|
+
content: string;
|
|
1196
|
+
viewBox: string;
|
|
1197
|
+
};
|
|
1198
|
+
declare const person_search: {
|
|
1199
|
+
name: string;
|
|
1200
|
+
content: string;
|
|
1201
|
+
viewBox: string;
|
|
1202
|
+
};
|
|
1203
|
+
declare const category: {
|
|
1204
|
+
name: string;
|
|
1205
|
+
content: string;
|
|
1206
|
+
viewBox: string;
|
|
1207
|
+
};
|
|
1208
|
+
declare const chat: {
|
|
1209
|
+
name: string;
|
|
1210
|
+
content: string;
|
|
1211
|
+
viewBox: string;
|
|
1212
|
+
};
|
|
1213
|
+
declare const playlist_add_check: {
|
|
1214
|
+
name: string;
|
|
1215
|
+
content: string;
|
|
1216
|
+
viewBox: string;
|
|
1217
|
+
};
|
|
1218
|
+
declare const article: {
|
|
1219
|
+
name: string;
|
|
1220
|
+
content: string;
|
|
1221
|
+
viewBox: string;
|
|
1222
|
+
};
|
|
1223
|
+
|
|
1224
|
+
/**
|
|
1225
|
+
* Translatable messages for the RuntimeBrowser components.
|
|
1226
|
+
* Pass translated strings to override the English defaults.
|
|
1227
|
+
*/
|
|
1228
|
+
interface RuntimeBrowserMessages {
|
|
1229
|
+
title: string;
|
|
1230
|
+
badgeLabel: string;
|
|
1231
|
+
titlePrefix: string;
|
|
1232
|
+
ready: string;
|
|
1233
|
+
selectItem: string;
|
|
1234
|
+
noPropertiesAvailable: string;
|
|
1235
|
+
constructionKitModel: string;
|
|
1236
|
+
constructionKitModels: string;
|
|
1237
|
+
fullName: string;
|
|
1238
|
+
semanticName: string;
|
|
1239
|
+
modelName: string;
|
|
1240
|
+
version: string;
|
|
1241
|
+
state: string;
|
|
1242
|
+
selectTypeFromTree: string;
|
|
1243
|
+
browseModelsAndTypes: string;
|
|
1244
|
+
type: string;
|
|
1245
|
+
abstract: string;
|
|
1246
|
+
final: string;
|
|
1247
|
+
base: string;
|
|
1248
|
+
runtimeEntities: string;
|
|
1249
|
+
runtimeId: string;
|
|
1250
|
+
typeId: string;
|
|
1251
|
+
entityIdentifier: string;
|
|
1252
|
+
wellKnownName: string;
|
|
1253
|
+
entityInformation: string;
|
|
1254
|
+
loadingEntityDetails: string;
|
|
1255
|
+
retry: string;
|
|
1256
|
+
attributes: string;
|
|
1257
|
+
associations: string;
|
|
1258
|
+
direction: string;
|
|
1259
|
+
role: string;
|
|
1260
|
+
relatedType: string;
|
|
1261
|
+
relatedEntity: string;
|
|
1262
|
+
all: string;
|
|
1263
|
+
inbound: string;
|
|
1264
|
+
outbound: string;
|
|
1265
|
+
allRoles: string;
|
|
1266
|
+
allTypes: string;
|
|
1267
|
+
entityId: string;
|
|
1268
|
+
viewDetails: string;
|
|
1269
|
+
copyToClipboard: string;
|
|
1270
|
+
copyEntityIdentifierToClipboard: string;
|
|
1271
|
+
goToEntity: string;
|
|
1272
|
+
refresh: string;
|
|
1273
|
+
create: string;
|
|
1274
|
+
edit: string;
|
|
1275
|
+
delete: string;
|
|
1276
|
+
createEntity: string;
|
|
1277
|
+
updateEntity: string;
|
|
1278
|
+
name: string;
|
|
1279
|
+
runtimeCkTypeId: string;
|
|
1280
|
+
targetLocation: string;
|
|
1281
|
+
rootLevel: string;
|
|
1282
|
+
entityType: string;
|
|
1283
|
+
selectType: string;
|
|
1284
|
+
selectTypePrompt: string;
|
|
1285
|
+
save: string;
|
|
1286
|
+
cancel: string;
|
|
1287
|
+
longitude: string;
|
|
1288
|
+
latitude: string;
|
|
1289
|
+
resetToInitialValue: string;
|
|
1290
|
+
attributesFor: string;
|
|
1291
|
+
couldNotLoadEntityDetails: string;
|
|
1292
|
+
failedToLoadEntityDetails: string;
|
|
1293
|
+
copiedToClipboard: string;
|
|
1294
|
+
failedToCopyToClipboard: string;
|
|
1295
|
+
downloadNotAvailable: string;
|
|
1296
|
+
failedToLoadDownloadInfo: string;
|
|
1297
|
+
missingRequiredIdentifiers: string;
|
|
1298
|
+
failedToCreateEntity: string;
|
|
1299
|
+
failedToUpdateEntity: string;
|
|
1300
|
+
goToEntityTitle: string;
|
|
1301
|
+
goToEntityPrompt: string;
|
|
1302
|
+
go: string;
|
|
1303
|
+
created: string;
|
|
1304
|
+
modified: string;
|
|
621
1305
|
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
isLoading: boolean;
|
|
636
|
-
pageSize: number;
|
|
637
|
-
skip: number;
|
|
638
|
-
selectedKeys: string[];
|
|
639
|
-
selectedType: CkTypeSelectorItem$1 | null;
|
|
640
|
-
selectItemBy: (context: RowArgs) => string;
|
|
641
|
-
private initialCkModelIds?;
|
|
642
|
-
derivedFromRtCkTypeId?: string;
|
|
643
|
-
private lastClickTime;
|
|
644
|
-
private lastClickRtCkTypeId;
|
|
645
|
-
/** Data passed from the service */
|
|
646
|
-
data?: CkTypeSelectorDialogData;
|
|
647
|
-
ngOnInit(): void;
|
|
648
|
-
ngOnDestroy(): void;
|
|
649
|
-
private loadTypes;
|
|
650
|
-
private loadAvailableModels;
|
|
651
|
-
onSearchChange(value: string): void;
|
|
652
|
-
onModelFilterChange(_value: string | null): void;
|
|
653
|
-
clearFilters(): void;
|
|
654
|
-
onPageChange(event: PageChangeEvent): void;
|
|
655
|
-
onSelectionChange(event: SelectionEvent): void;
|
|
656
|
-
onCellClick(event: CellClickEvent): void;
|
|
657
|
-
onCancel(): void;
|
|
658
|
-
onConfirm(): void;
|
|
659
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeSelectorDialogComponent, never>;
|
|
660
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CkTypeSelectorDialogComponent, "mm-ck-type-selector-dialog", never, {}, {}, never, never, true, never>;
|
|
1306
|
+
/**
|
|
1307
|
+
* Default English messages for the RuntimeBrowser components.
|
|
1308
|
+
*/
|
|
1309
|
+
declare const DEFAULT_RUNTIME_BROWSER_MESSAGES: RuntimeBrowserMessages;
|
|
1310
|
+
|
|
1311
|
+
declare class CkTypeEntitiesDataSourceDirective extends OctoGraphQlDataSource<RtEntityDto> {
|
|
1312
|
+
private readonly getRuntimeEntitiesGQL;
|
|
1313
|
+
private ckTypeId;
|
|
1314
|
+
constructor();
|
|
1315
|
+
setRtCkTypeId(ckTypeId: string): void;
|
|
1316
|
+
fetchData(queryOptions: FetchDataOptions): Observable<FetchResultTyped<RtEntityDto> | null>;
|
|
1317
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeEntitiesDataSourceDirective, never>;
|
|
1318
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CkTypeEntitiesDataSourceDirective, "[mmCkTypeEntitiesDataSource]", ["mmCkTypeEntitiesDataSource"], {}, {}, never, never, true, never>;
|
|
661
1319
|
}
|
|
662
1320
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
1321
|
+
/**
|
|
1322
|
+
* Performs helpful Octomesh Types operations, like checks, comparisons etc.
|
|
1323
|
+
*/
|
|
1324
|
+
declare class TypeHelperService {
|
|
1325
|
+
/**
|
|
1326
|
+
* Checks if given item is runtime entity.
|
|
1327
|
+
*
|
|
1328
|
+
* @param item Item to check.
|
|
1329
|
+
* @returns True for runtime entity, false otherwise.
|
|
1330
|
+
*/
|
|
1331
|
+
isRuntimeEntity(item: unknown): item is RtEntityDto;
|
|
1332
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TypeHelperService, never>;
|
|
1333
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TypeHelperService>;
|
|
666
1334
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
private readonly windowStateService;
|
|
1335
|
+
|
|
1336
|
+
interface CreateInput {
|
|
670
1337
|
/**
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
* @returns Promise that resolves with the result containing selected CkType and confirmation status
|
|
1338
|
+
* Parent context: object is always present; ckTypeId, rtId and name are optional (undefined for root-level creation, e.g. when creating under a CK Type or when parentNode is null).
|
|
1339
|
+
* Code uses parent?.ckTypeId and parent?.rtId defensively when building associations.
|
|
674
1340
|
*/
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
1341
|
+
parent: {
|
|
1342
|
+
ckTypeId?: string;
|
|
1343
|
+
rtId?: string;
|
|
1344
|
+
name?: string;
|
|
1345
|
+
};
|
|
1346
|
+
/**
|
|
1347
|
+
* List of available CK types to choose from when creating a new entity. This is required to populate the dropdown for type selection in the UI.
|
|
1348
|
+
*/
|
|
1349
|
+
ckTypes: CkTypeDto[];
|
|
1350
|
+
}
|
|
1351
|
+
interface CreateOutput {
|
|
1352
|
+
success: boolean;
|
|
1353
|
+
data?: {
|
|
1354
|
+
/**
|
|
1355
|
+
* The RT ID of the newly created entity. This is returned after a successful creation operation and can be used for further operations or navigation. It is optional because the creation might fail, in which case this value would be undefined.
|
|
1356
|
+
*/
|
|
1357
|
+
createdRtEntityId: string;
|
|
1358
|
+
};
|
|
684
1359
|
}
|
|
685
1360
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
private onChange;
|
|
713
|
-
private onTouched;
|
|
714
|
-
protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
715
|
-
protected popupSettings: PopupSettings;
|
|
716
|
-
private static popupStyleInjected;
|
|
717
|
-
private readonly ckTypeSelectorService;
|
|
718
|
-
private readonly dialogService;
|
|
719
|
-
private readonly elementRef;
|
|
720
|
-
ngOnInit(): void;
|
|
721
|
-
ngOnDestroy(): void;
|
|
722
|
-
writeValue(value: CkTypeSelectorItem$1 | null): void;
|
|
723
|
-
registerOnChange(fn: (value: CkTypeSelectorItem$1 | null) => void): void;
|
|
724
|
-
registerOnTouched(fn: () => void): void;
|
|
725
|
-
setDisabledState(isDisabled: boolean): void;
|
|
726
|
-
validate(control: AbstractControl): ValidationErrors | null;
|
|
727
|
-
onFilterChange(filter: string): void;
|
|
728
|
-
onSelectionChange(value: string): void;
|
|
729
|
-
onFocus(): void;
|
|
730
|
-
onBlur(): void;
|
|
731
|
-
clear(): void;
|
|
732
|
-
focus(): void;
|
|
733
|
-
reset(): void;
|
|
734
|
-
private setupSearch;
|
|
735
|
-
private injectPopupStyles;
|
|
736
|
-
private selectCkType;
|
|
737
|
-
openDialog(event?: Event): Promise<void>;
|
|
738
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CkTypeSelectorInputComponent, never>;
|
|
739
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CkTypeSelectorInputComponent, "mm-ck-type-selector-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "ckModelIds": { "alias": "ckModelIds"; "required": false; }; "allowAbstract": { "alias": "allowAbstract"; "required": false; }; "dialogTitle": { "alias": "dialogTitle"; "required": false; }; "advancedSearchLabel": { "alias": "advancedSearchLabel"; "required": false; }; "derivedFromRtCkTypeId": { "alias": "derivedFromRtCkTypeId"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "ckTypeSelected": "ckTypeSelected"; "ckTypeCleared": "ckTypeCleared"; }, never, never, true, never>;
|
|
1361
|
+
interface UpdateInput {
|
|
1362
|
+
/**
|
|
1363
|
+
* The name of the entity being updated. This is required to display the name of the entity in the UI.
|
|
1364
|
+
*/
|
|
1365
|
+
name: string;
|
|
1366
|
+
/**
|
|
1367
|
+
* The RT ID of the entity being updated. This is required to identify which entity to update in the backend.
|
|
1368
|
+
*/
|
|
1369
|
+
rtId: string;
|
|
1370
|
+
/**
|
|
1371
|
+
* The RT CK type ID of the entity being updated. This is required to understand the structure and attributes of the entity for proper mapping and validation during the update operation.
|
|
1372
|
+
*/
|
|
1373
|
+
rtCkTypeId: string;
|
|
1374
|
+
/**
|
|
1375
|
+
* The CK type ID of the entity being updated. This is required to understand the structure and attributes of the entity for proper mapping and validation during the update operation.
|
|
1376
|
+
*/
|
|
1377
|
+
ckTypeId: string;
|
|
1378
|
+
}
|
|
1379
|
+
interface UpdateOutput {
|
|
1380
|
+
success: boolean;
|
|
1381
|
+
data?: {
|
|
1382
|
+
/**
|
|
1383
|
+
* The RT ID of the updated entity. This is returned after a successful update operation and can be used for further operations or navigation. It is optional because the update might fail, in which case this value would be undefined.
|
|
1384
|
+
*/
|
|
1385
|
+
updatedRtEntityId: string;
|
|
1386
|
+
};
|
|
740
1387
|
}
|
|
741
1388
|
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
type?: 'string' | 'number' | 'boolean' | 'date' | 'datetime';
|
|
1389
|
+
type BrowserItem$3 = RtEntityDto | CkModelDto | CkTypeDto | {
|
|
1390
|
+
isCkModelsRoot?: boolean;
|
|
1391
|
+
ckModelId?: string;
|
|
1392
|
+
};
|
|
1393
|
+
/** Payload emitted when create or update finishes; parent uses it to refresh tree and optionally reload detail view. */
|
|
1394
|
+
interface EntitySavedEvent {
|
|
1395
|
+
parentCkTypeId?: string;
|
|
1396
|
+
parentRtId?: string;
|
|
1397
|
+
/** True when save was an update; parent should reload detail view after tree refresh. */
|
|
1398
|
+
isUpdate?: boolean;
|
|
753
1399
|
}
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
1400
|
+
declare class RuntimeBrowserDetailsComponent implements OnChanges, AfterViewInit {
|
|
1401
|
+
selectedItem: TreeItemDataTyped<BrowserItem$3> | null;
|
|
1402
|
+
set messages(value: Partial<RuntimeBrowserMessages>);
|
|
1403
|
+
protected _messages: RuntimeBrowserMessages;
|
|
1404
|
+
entitySaved: EventEmitter<void | EntitySavedEvent>;
|
|
1405
|
+
dataSourceDirective?: CkTypeEntitiesDataSourceDirective;
|
|
1406
|
+
private readonly router;
|
|
1407
|
+
private readonly route;
|
|
1408
|
+
private readonly entityDataSource;
|
|
1409
|
+
private readonly stateService;
|
|
1410
|
+
protected readonly typeHelperService: TypeHelperService;
|
|
1411
|
+
protected readonly detailsIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
1412
|
+
protected fullEntity: RtEntityDto | null;
|
|
1413
|
+
protected get ckTypeColumns(): ({
|
|
1414
|
+
field: string;
|
|
1415
|
+
displayName: string;
|
|
1416
|
+
dataType: "text";
|
|
1417
|
+
format?: undefined;
|
|
1418
|
+
} | {
|
|
1419
|
+
field: string;
|
|
1420
|
+
displayName: string;
|
|
1421
|
+
format: "short";
|
|
1422
|
+
dataType: "iso8601";
|
|
1423
|
+
})[];
|
|
1424
|
+
protected get ckTypeViewDetailsCommand(): {
|
|
1425
|
+
id: string;
|
|
1426
|
+
type: "link";
|
|
1427
|
+
text: string;
|
|
1428
|
+
svgIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
1429
|
+
onClick: (eventArgs: CommandItemExecuteEventArgs) => Promise<void>;
|
|
1430
|
+
};
|
|
1431
|
+
protected loading: boolean;
|
|
1432
|
+
protected error: string | null;
|
|
1433
|
+
private pendingRtCkTypeId;
|
|
1434
|
+
protected isCreateModeEnabled: boolean;
|
|
1435
|
+
protected isUpdateModeEnabled: boolean;
|
|
1436
|
+
protected createInput: CreateInput | undefined;
|
|
1437
|
+
protected updateInput: UpdateInput | undefined;
|
|
1438
|
+
ngAfterViewInit(): void;
|
|
1439
|
+
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
1440
|
+
protected loadFullEntityDetails(): Promise<void>;
|
|
1441
|
+
protected navigateToDetails(): Promise<void>;
|
|
1442
|
+
protected navigateToEntity(rtId: string, ckTypeId: string): Promise<void>;
|
|
1443
|
+
protected getEntityForDisplay(): RtEntityDto | null;
|
|
1444
|
+
protected isCkModel(item: BrowserItem$3): item is CkModelDto;
|
|
1445
|
+
protected isCkType(item: BrowserItem$3): item is CkTypeDto;
|
|
1446
|
+
protected isCkModelsRoot(item: BrowserItem$3): item is {
|
|
1447
|
+
isCkModelsRoot?: boolean;
|
|
1448
|
+
ckModelId?: string;
|
|
1449
|
+
};
|
|
1450
|
+
protected getCkModelIdFullName(item: BrowserItem$3): string;
|
|
1451
|
+
protected getCkModelIdName(item: BrowserItem$3): string;
|
|
1452
|
+
protected getCkModelIdVersion(item: BrowserItem$3): string;
|
|
1453
|
+
protected getCkModelIdSemanticName(item: BrowserItem$3): string;
|
|
1454
|
+
protected getCkModelState(item: BrowserItem$3): string;
|
|
1455
|
+
protected getCkTypeId(item: BrowserItem$3): string;
|
|
1456
|
+
protected getRtCkTypeId(item: BrowserItem$3): string;
|
|
1457
|
+
protected isCkTypeAbstract(item: BrowserItem$3): boolean;
|
|
1458
|
+
protected isCkTypeFinal(item: BrowserItem$3): boolean;
|
|
1459
|
+
protected getCkTypeBaseType(item: BrowserItem$3): string | null;
|
|
1460
|
+
protected onViewEntityDetails: (eventArgs: CommandItemExecuteEventArgs) => Promise<void>;
|
|
1461
|
+
/**
|
|
1462
|
+
* Activates the creation UI and provides necessary data
|
|
1463
|
+
* @param parentNode The tree node under which the new entity will be created, or null for root-level creation
|
|
1464
|
+
* @param allowedTypes List of compatible entity types for the new node
|
|
1465
|
+
*/
|
|
1466
|
+
enterCreateMode(parentNode: TreeItemDataTyped<BrowserItem$3> | null, allowedTypes: CkTypeDto[]): void;
|
|
1467
|
+
enterEditMode(selectedItem: TreeItemDataTyped<BrowserItem$3> | null, rtCkTypeId: string | undefined): void;
|
|
1468
|
+
/**
|
|
1469
|
+
* Handles the result of the save operation from the child component
|
|
1470
|
+
* @param result Object containing success status and new entity details
|
|
1471
|
+
*/
|
|
1472
|
+
onEntityCreationFinished(result: CreateOutput): void;
|
|
1473
|
+
/**
|
|
1474
|
+
* Called when update editor saves. Emits so parent refreshes tree, then parent will call
|
|
1475
|
+
* reloadCurrentEntityDetails() after refresh so the detail view shows fresh data.
|
|
1476
|
+
*/
|
|
1477
|
+
onEntityUpdateFinished(result: UpdateOutput): void;
|
|
1478
|
+
/**
|
|
1479
|
+
* Reloads full entity details for the currently selected item.
|
|
1480
|
+
* Called by parent after tree refresh so the detail view shows data after create/update.
|
|
1481
|
+
*/
|
|
1482
|
+
reloadCurrentEntityDetails(): void;
|
|
1483
|
+
onCancel(): void;
|
|
1484
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDetailsComponent, never>;
|
|
1485
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserDetailsComponent, "mm-runtime-browser-details", never, { "selectedItem": { "alias": "selectedItem"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; }, { "entitySaved": "entitySaved"; }, never, never, true, never>;
|
|
758
1486
|
}
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
private readonly
|
|
767
|
-
readonly
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
readonly
|
|
772
|
-
|
|
1487
|
+
|
|
1488
|
+
type BrowserItem$2 = RtEntityDto | CkModelDto | CkTypeDto | {
|
|
1489
|
+
isCkModelsRoot?: boolean;
|
|
1490
|
+
ckModelId?: string;
|
|
1491
|
+
};
|
|
1492
|
+
declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<BrowserItem$2> {
|
|
1493
|
+
private readonly getTreesDtoGQL;
|
|
1494
|
+
private readonly getTreeNodesDtoGQL;
|
|
1495
|
+
private readonly getCkModelsGQL;
|
|
1496
|
+
private readonly getCkTypesGQL;
|
|
1497
|
+
private readonly getCkModelByIdDtoGQL;
|
|
1498
|
+
private readonly deleteEntitiesDtoGQL;
|
|
1499
|
+
private readonly getRuntimeEntityAssociationsByIdDtoGQL;
|
|
1500
|
+
private readonly updateTreeNodesDtoGQL;
|
|
1501
|
+
private readonly typeHelperService;
|
|
1502
|
+
private isCkModelsRoot;
|
|
1503
|
+
private isCkModel;
|
|
1504
|
+
private isCkType;
|
|
1505
|
+
private static readonly levelMetaData;
|
|
1506
|
+
private static readonly ckTypeMetaData;
|
|
1507
|
+
fetchChildren(item: TreeItemDataTyped<BrowserItem$2>): Promise<TreeItemDataTyped<BrowserItem$2>[]>;
|
|
1508
|
+
fetchRootNodes(): Promise<TreeItemDataTyped<BrowserItem$2>[]>;
|
|
773
1509
|
/**
|
|
774
|
-
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
777
|
-
*
|
|
1510
|
+
* Gets ParentChild association of given Runtime Entity.
|
|
1511
|
+
*
|
|
1512
|
+
* @param ckTypeId Ck Type Id.
|
|
1513
|
+
* @param rtId Runtime Id.
|
|
1514
|
+
* @param isParentAssoc if true, fetches only parent, otherwise children.
|
|
1515
|
+
*
|
|
1516
|
+
* @returns Fetches configured association.
|
|
778
1517
|
*/
|
|
779
|
-
ckTypeId
|
|
1518
|
+
getParentChildAssociation(ckTypeId: string, rtId: string, isParentAssoc: boolean): Promise<RtAssociationDto[] | undefined>;
|
|
780
1519
|
/**
|
|
781
|
-
*
|
|
782
|
-
*
|
|
783
|
-
*
|
|
1520
|
+
* Swaps parent of the given object.
|
|
1521
|
+
*
|
|
1522
|
+
* @param srcObjRtId Runtime Entity Id of the object that is supposed to have its association changed.
|
|
1523
|
+
* @param oldParentCkTypeId CkTypeId of the current parent.
|
|
1524
|
+
* @param oldParentRtId Runtime Entity Id of the current parent.
|
|
1525
|
+
* @param newParentCkTypeId CkTypeId of the target parent.
|
|
1526
|
+
* @param newParentRtId Runtime Entity Id of the target parent.
|
|
1527
|
+
*
|
|
1528
|
+
* @returns true if association was successfully swapped.
|
|
784
1529
|
*/
|
|
785
|
-
|
|
1530
|
+
updateParentChildAssociation(srcObjRtId: string, oldParentCkTypeId: string, oldParentRtId: string, newParentCkTypeId: string, newParentRtId: string): Promise<boolean>;
|
|
786
1531
|
/**
|
|
787
|
-
*
|
|
788
|
-
*
|
|
1532
|
+
* Returns ckTypeId and rtId of a parent of given runtime entity.
|
|
1533
|
+
*
|
|
1534
|
+
* @param ckTypeId Runtime entity's ck type
|
|
1535
|
+
* @param rtId Runtime entity's runtime id
|
|
1536
|
+
* @returns object with parent's ckTypeId and rtId, or undefined when not found or on error.
|
|
789
1537
|
*/
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
availableVariables: FilterVariable[];
|
|
795
|
-
/** Controls for self-loading mode (when ckTypeId is set) */
|
|
796
|
-
includeNavigationProperties: boolean;
|
|
797
|
-
maxDepth: number | null;
|
|
798
|
-
isLoadingAttributes: boolean;
|
|
799
|
-
private _filters;
|
|
800
|
-
private nextId;
|
|
801
|
-
filteredAttributeList: AttributeItem[];
|
|
802
|
-
private attributeTypeMap;
|
|
803
|
-
get filters(): FieldFilterItem[];
|
|
804
|
-
set filters(value: FieldFilterItem[]);
|
|
805
|
-
filtersChange: EventEmitter<FieldFilterItem[]>;
|
|
806
|
-
selectedKeys: number[];
|
|
807
|
-
ngOnChanges(changes?: SimpleChanges): void;
|
|
1538
|
+
getRuntimeEntityParentData(ckTypeId: string, rtId: string): Promise<{
|
|
1539
|
+
ckTypeId: string;
|
|
1540
|
+
rtId: string;
|
|
1541
|
+
} | undefined>;
|
|
808
1542
|
/**
|
|
809
|
-
*
|
|
810
|
-
*
|
|
1543
|
+
* Performs cascade delete operation on given runtime entity.
|
|
1544
|
+
*
|
|
1545
|
+
* @param itemToDelete Potential runtime entity.
|
|
1546
|
+
* @returns true on successful delete, false on database error or if object is not a runtime entity.
|
|
811
1547
|
*/
|
|
812
|
-
|
|
813
|
-
private buildAttributeTypeMap;
|
|
814
|
-
onNavigationPropertiesChange(): void;
|
|
815
|
-
onMaxDepthChange(value: number | null): void;
|
|
816
|
-
private loadAttributesFromCkType;
|
|
817
|
-
addFilter(): void;
|
|
818
|
-
removeFilter(filter: FieldFilterItem): void;
|
|
819
|
-
removeSelected(): void;
|
|
820
|
-
onFilterChange(): void;
|
|
821
|
-
onAttributeChange(filter: FieldFilterItem, attributePath: string): void;
|
|
822
|
-
onOperatorChange(filter: FieldFilterItem): void;
|
|
823
|
-
onComparisonValueChange(filter: FieldFilterItem, inputValue: string | null): void;
|
|
824
|
-
onComparisonValueBlur(filter: FieldFilterItem): void;
|
|
825
|
-
onBooleanValueChange(filter: FieldFilterItem, value: string): void;
|
|
826
|
-
onNumericValueChange(filter: FieldFilterItem, value: number | null): void;
|
|
827
|
-
onDateTimeValueChange(filter: FieldFilterItem, value: Date | null): void;
|
|
828
|
-
getDisplayValue(filter: FieldFilterItem): string;
|
|
829
|
-
getBooleanValue(filter: FieldFilterItem): string;
|
|
830
|
-
getNumericValue(filter: FieldFilterItem): number;
|
|
831
|
-
getDateTimeValue(filter: FieldFilterItem): Date | null;
|
|
832
|
-
getInputType(filter: FieldFilterItem): InputType;
|
|
833
|
-
getDecimals(filter: FieldFilterItem): number;
|
|
834
|
-
getNumberFormat(filter: FieldFilterItem): string;
|
|
835
|
-
getValuePlaceholder(filter: FieldFilterItem): string;
|
|
836
|
-
isArrayOperator(operator: FieldFilterOperatorsDto): boolean;
|
|
837
|
-
isSelected(filter: FieldFilterItem): boolean;
|
|
838
|
-
toggleSelection(filter: FieldFilterItem): void;
|
|
839
|
-
isAllSelected(): boolean;
|
|
840
|
-
isIndeterminate(): boolean;
|
|
841
|
-
toggleSelectAll(event: Event): void;
|
|
842
|
-
onAttributeFilterChange(filter: string): void;
|
|
1548
|
+
deleteRtEntityAndChildren(itemToDelete: TreeItemDataTyped<unknown>): Promise<boolean>;
|
|
843
1549
|
/**
|
|
844
|
-
*
|
|
1550
|
+
* Check if the Basic construction kit is available in the system
|
|
845
1551
|
*/
|
|
846
|
-
|
|
1552
|
+
private checkBasicConstructionKitAvailable;
|
|
1553
|
+
private fetchCkModels;
|
|
1554
|
+
private fetchCkTypes;
|
|
1555
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDataSource, never>;
|
|
1556
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeBrowserDataSource>;
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
type BrowserItem$1 = RtEntityDto | CkModelDto | CkTypeDto | {
|
|
1560
|
+
isCkModelsRoot?: boolean;
|
|
1561
|
+
ckModelId?: string;
|
|
1562
|
+
};
|
|
1563
|
+
declare class RuntimeBrowserComponent implements AfterViewInit {
|
|
1564
|
+
protected readonly ckTypesGQL: GetCkTypesDtoGQL;
|
|
1565
|
+
protected readonly dataSource: RuntimeBrowserDataSource;
|
|
1566
|
+
private readonly getRuntimeEntityByIdGQL;
|
|
1567
|
+
private readonly inputService;
|
|
1568
|
+
private readonly router;
|
|
1569
|
+
private readonly route;
|
|
1570
|
+
private readonly stateService;
|
|
1571
|
+
private readonly typeHelperService;
|
|
1572
|
+
private readonly notificationService;
|
|
1573
|
+
private isSelectedItemAnRtEntity;
|
|
1574
|
+
private isLoading;
|
|
1575
|
+
private isCreating;
|
|
1576
|
+
private isEditing;
|
|
1577
|
+
messages: i0.InputSignal<Partial<RuntimeBrowserMessages>>;
|
|
1578
|
+
protected readonly resolvedMessages: i0.Signal<RuntimeBrowserMessages>;
|
|
1579
|
+
treeDetail: BaseTreeDetailComponent<BrowserItem$1>;
|
|
1580
|
+
detailsPanel: RuntimeBrowserDetailsComponent;
|
|
1581
|
+
protected get leftToolbarActions(): CommandItem[];
|
|
1582
|
+
protected get rightToolbarActions(): CommandItem[];
|
|
1583
|
+
private _selectedItem;
|
|
1584
|
+
protected get selectedItem(): TreeItemDataTyped<BrowserItem$1> | null;
|
|
1585
|
+
protected set selectedItem(item: TreeItemDataTyped<BrowserItem$1> | null);
|
|
1586
|
+
private get isGoToEntityButtonEnabled();
|
|
1587
|
+
private get isRefreshButtonEnabled();
|
|
1588
|
+
private get isCreateButtonEnabled();
|
|
1589
|
+
private get isDeleteButtonEnabled();
|
|
1590
|
+
private get isEditButtonEnabled();
|
|
1591
|
+
ngAfterViewInit(): void;
|
|
847
1592
|
/**
|
|
848
|
-
*
|
|
1593
|
+
* Wait for the tree component to be fully initialized and ready
|
|
849
1594
|
*/
|
|
850
|
-
|
|
1595
|
+
private waitForTreeComponent;
|
|
851
1596
|
/**
|
|
852
|
-
*
|
|
1597
|
+
* Restore the previously selected tree item and expand path
|
|
853
1598
|
*/
|
|
854
|
-
|
|
1599
|
+
private restoreTreeState;
|
|
1600
|
+
protected onNodeSelected(treeItem: TreeItemDataTyped<unknown>): void;
|
|
855
1601
|
/**
|
|
856
|
-
*
|
|
1602
|
+
* Boilerplate for showing warning notification.
|
|
1603
|
+
*
|
|
1604
|
+
* @param message Message of the warning.
|
|
857
1605
|
*/
|
|
858
|
-
private
|
|
1606
|
+
private _showWarningNotification;
|
|
859
1607
|
/**
|
|
860
|
-
*
|
|
1608
|
+
* Occurs when item has been dropped on the Runtime Browser tree.
|
|
1609
|
+
*
|
|
1610
|
+
* @param event Metadata of the drag and drop operation.
|
|
861
1611
|
*/
|
|
862
|
-
|
|
1612
|
+
protected onNodeDropped(event: NodeDroppedEvent<unknown>): Promise<void>;
|
|
863
1613
|
/**
|
|
864
|
-
*
|
|
1614
|
+
* Save the state using the expanded keys from the tree component.
|
|
1615
|
+
* This is much more efficient than recursively searching for the path.
|
|
865
1616
|
*/
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
private
|
|
871
|
-
private
|
|
872
|
-
private
|
|
873
|
-
|
|
874
|
-
|
|
1617
|
+
private saveStateFromExpandedKeys;
|
|
1618
|
+
/**
|
|
1619
|
+
* Generate a unique key for a tree item (same logic as in TreeComponent)
|
|
1620
|
+
*/
|
|
1621
|
+
private getItemKey;
|
|
1622
|
+
private extractBrowserItem;
|
|
1623
|
+
private getItemText;
|
|
1624
|
+
/**
|
|
1625
|
+
* Create a TreeItemDataTyped from saved state data
|
|
1626
|
+
*/
|
|
1627
|
+
private createTreeItemFromSavedState;
|
|
1628
|
+
/**
|
|
1629
|
+
* Toolbar action: Open dialog to navigate to entity
|
|
1630
|
+
*/
|
|
1631
|
+
protected onGotoEntity(): Promise<void>;
|
|
1632
|
+
/**
|
|
1633
|
+
* Toolbar action: Refresh tree data
|
|
1634
|
+
*/
|
|
1635
|
+
protected onRefresh(): Promise<void>;
|
|
1636
|
+
/**
|
|
1637
|
+
* Toolbar action: Delete selected tree node
|
|
1638
|
+
*/
|
|
1639
|
+
protected onDelete(): Promise<void>;
|
|
1640
|
+
/**
|
|
1641
|
+
* Navigate to entity details route using the format "ckTypeId@rtId"
|
|
1642
|
+
* @param entityIdentifier - String in format "ckTypeId@rtId"
|
|
1643
|
+
* @example navigateToEntityDetails("Basic/TreeNode@507f1f77bcf86cd799439011")
|
|
1644
|
+
*/
|
|
1645
|
+
private navigateToEntityDetails;
|
|
1646
|
+
/**
|
|
1647
|
+
* Main action to initiate the creation of a new node
|
|
1648
|
+
*/
|
|
1649
|
+
protected onCreate(): Promise<void>;
|
|
1650
|
+
protected onEdit(): Promise<void>;
|
|
1651
|
+
/**
|
|
1652
|
+
* Filters the list of types to find compatible types for entity creation.
|
|
1653
|
+
* For root-level creation, only allows Basic/Tree types.
|
|
1654
|
+
* For child creation, allows non-abstract TreeNode types.
|
|
1655
|
+
*
|
|
1656
|
+
* @param types - All available CK types
|
|
1657
|
+
* @param isRootLevel - If true, only Basic/Tree types are allowed
|
|
1658
|
+
* @returns Filtered list of compatible types
|
|
1659
|
+
*/
|
|
1660
|
+
private getCompatibleTreeTypes;
|
|
1661
|
+
/**
|
|
1662
|
+
* Checks if a specific type or its base type belongs to the TreeNode hierarchy
|
|
1663
|
+
*/
|
|
1664
|
+
private isTreeNodeType;
|
|
1665
|
+
/**
|
|
1666
|
+
* Handles entitySaved from the details panel: refreshes the tree, then reloads the detail view
|
|
1667
|
+
* when the save was an update so the user sees fresh data.
|
|
1668
|
+
*/
|
|
1669
|
+
protected onEntitySaved(event: EntitySavedEvent | void): Promise<void>;
|
|
1670
|
+
/**
|
|
1671
|
+
* Refresh tree data after entity creation.
|
|
1672
|
+
* IMPORTANT: We use refreshTree() instead of refreshRuntimeEntities() because
|
|
1673
|
+
* refreshRuntimeEntities() only manipulates expanded keys but doesn't force data
|
|
1674
|
+
* reload from the data source. This causes stale data to persist in Kendo TreeView
|
|
1675
|
+
*/
|
|
1676
|
+
protected refreshTreeAfterCreation(parentInfo?: {
|
|
1677
|
+
parentRtId?: string;
|
|
1678
|
+
}): Promise<void>;
|
|
1679
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserComponent, never>;
|
|
1680
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserComponent, "mm-runtime-browser", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
875
1681
|
}
|
|
876
1682
|
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
1683
|
+
/**
|
|
1684
|
+
* Simple outlet component for runtime browser routes.
|
|
1685
|
+
* Use as the parent component when mounting runtime browser routes as children.
|
|
1686
|
+
*/
|
|
1687
|
+
declare class RuntimeBrowserOutletComponent {
|
|
1688
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserOutletComponent, never>;
|
|
1689
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserOutletComponent, "mm-runtime-browser-outlet", never, {}, {}, never, never, true, never>;
|
|
881
1690
|
}
|
|
1691
|
+
|
|
882
1692
|
/**
|
|
883
|
-
*
|
|
884
|
-
*
|
|
885
|
-
* - RtId: The runtime ObjectId
|
|
886
|
-
* - CkTypeId: The full versioned Construction Kit type ID
|
|
887
|
-
* - RtCkTypeId: The runtime CK type ID (unversioned)
|
|
888
|
-
* - RtEntityId: Combined format {RtCkTypeId}@{RtId}
|
|
889
|
-
*
|
|
890
|
-
* @example
|
|
891
|
-
* ```html
|
|
892
|
-
* <mm-entity-id-info
|
|
893
|
-
* [rtId]="entity.rtId"
|
|
894
|
-
* [rtCkTypeId]="entity.ckTypeId"
|
|
895
|
-
* [ckTypeId]="entity.constructionKitType?.ckTypeId?.fullName">
|
|
896
|
-
* </mm-entity-id-info>
|
|
897
|
-
* ```
|
|
1693
|
+
* Page component that wraps RuntimeBrowserComponent with optional message override.
|
|
1694
|
+
* Use RUNTIME_BROWSER_MESSAGES token to provide custom/translated messages at route level.
|
|
898
1695
|
*/
|
|
899
|
-
declare class
|
|
900
|
-
private readonly
|
|
901
|
-
protected readonly
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
/** The RtCkTypeId - runtime CK type ID (e.g., System.Communication/MeshAdapter) */
|
|
905
|
-
rtCkTypeId: string;
|
|
906
|
-
/** The CkTypeId - full versioned Construction Kit type ID (e.g., System.Communication-2.0.3/MeshAdapter-1) */
|
|
907
|
-
ckTypeId?: string;
|
|
908
|
-
protected get copyOptions(): CopyOption[];
|
|
909
|
-
private truncateValue;
|
|
910
|
-
protected copyToClipboard(option: CopyOption): Promise<void>;
|
|
911
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EntityIdInfoComponent, never>;
|
|
912
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EntityIdInfoComponent, "mm-entity-id-info", never, { "rtId": { "alias": "rtId"; "required": true; }; "rtCkTypeId": { "alias": "rtCkTypeId"; "required": true; }; "ckTypeId": { "alias": "ckTypeId"; "required": false; }; }, {}, never, never, true, never>;
|
|
1696
|
+
declare class RuntimeBrowserPageComponent {
|
|
1697
|
+
private readonly injectedMessages;
|
|
1698
|
+
protected readonly messages: RuntimeBrowserMessages;
|
|
1699
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserPageComponent, never>;
|
|
1700
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserPageComponent, "mm-runtime-browser-page", never, {}, {}, never, never, true, never>;
|
|
913
1701
|
}
|
|
914
1702
|
|
|
1703
|
+
/** Options for creating runtime browser routes. */
|
|
1704
|
+
interface RuntimeBrowserRouteOptions {
|
|
1705
|
+
/** Base path for breadcrumb URLs (e.g. 'repository/browser', 'administration/plant-management'). */
|
|
1706
|
+
basePath: string;
|
|
1707
|
+
/** Breadcrumb label for the main browser view. Default: 'Runtime Browser'. */
|
|
1708
|
+
breadcrumbLabel?: string;
|
|
1709
|
+
/** Breadcrumb label for the entity detail view. Default: 'Entity Details'. */
|
|
1710
|
+
entityBreadcrumbLabel?: string;
|
|
1711
|
+
/** Optional SVG icon for breadcrumbs. */
|
|
1712
|
+
svgIcon?: SVGIcon;
|
|
1713
|
+
/** Optional custom page component for the main view (overrides RuntimeBrowserPageComponent). */
|
|
1714
|
+
pageComponent?: unknown;
|
|
1715
|
+
/** Optional route-level providers (e.g. for RUNTIME_BROWSER_MESSAGES). */
|
|
1716
|
+
providers?: Provider[];
|
|
1717
|
+
}
|
|
915
1718
|
/**
|
|
916
|
-
*
|
|
917
|
-
*
|
|
918
|
-
* and orbiting data blocks representing data loading.
|
|
919
|
-
*
|
|
920
|
-
* Uses `--kendo-color-primary` for theme-independent coloring.
|
|
921
|
-
* Override the color via CSS `color` property on the host element.
|
|
1719
|
+
* Creates routes for the runtime browser feature (main view + entity detail).
|
|
1720
|
+
* Use these as children of a parent route that has a router-outlet.
|
|
922
1721
|
*
|
|
923
1722
|
* @example
|
|
924
|
-
*
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
*
|
|
1723
|
+
* // In repository.routes.ts
|
|
1724
|
+
* import { storage } from '@meshmakers/octo-ui';
|
|
1725
|
+
* {
|
|
1726
|
+
* path: 'browser',
|
|
1727
|
+
* component: RuntimeBrowserOutletComponent,
|
|
1728
|
+
* children: createRuntimeBrowserRoutes({
|
|
1729
|
+
* basePath: 'repository/browser',
|
|
1730
|
+
* breadcrumbLabel: 'Runtime Browser',
|
|
1731
|
+
* entityBreadcrumbLabel: 'Entity Details',
|
|
1732
|
+
* svgIcon: storage,
|
|
1733
|
+
* }),
|
|
1734
|
+
* data: { roles: [Roles.AdminPanelManagement], breadcrumb: [{ label: 'Repository', url: 'repository' }] },
|
|
1735
|
+
* }
|
|
928
1736
|
*/
|
|
929
|
-
declare
|
|
930
|
-
size: 'small' | 'medium';
|
|
931
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OctoLoaderComponent, never>;
|
|
932
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OctoLoaderComponent, "mm-octo-loader", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
933
|
-
}
|
|
1737
|
+
declare function createRuntimeBrowserRoutes(options: RuntimeBrowserRouteOptions): Routes;
|
|
934
1738
|
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
1739
|
+
/**
|
|
1740
|
+
* Injection token for RuntimeBrowser messages.
|
|
1741
|
+
* Provide this at route or component level to override default English messages (e.g. for i18n).
|
|
1742
|
+
*/
|
|
1743
|
+
declare const RUNTIME_BROWSER_MESSAGES: InjectionToken<RuntimeBrowserMessages>;
|
|
1744
|
+
|
|
1745
|
+
type BrowserItem = RtEntityDto | CkModelDto | CkTypeDto | {
|
|
1746
|
+
isCkModelsRoot?: boolean;
|
|
1747
|
+
ckModelId?: string;
|
|
1748
|
+
};
|
|
1749
|
+
interface BrowserState {
|
|
1750
|
+
selectedItemId: string;
|
|
1751
|
+
selectedItemText: string;
|
|
1752
|
+
selectedItemData: BrowserItem;
|
|
1753
|
+
parentPath: TreeItemDataTyped<BrowserItem>[];
|
|
1754
|
+
expandedKeys: string[];
|
|
1755
|
+
timestamp: number;
|
|
1756
|
+
}
|
|
1757
|
+
declare class RuntimeBrowserStateService {
|
|
1758
|
+
private currentState;
|
|
1759
|
+
/**
|
|
1760
|
+
* Save the current browser state including selected item information and parent path
|
|
1761
|
+
* @deprecated Use saveStateWithKeys instead for better performance
|
|
1762
|
+
*/
|
|
1763
|
+
saveState(selectedItem: TreeItemDataTyped<BrowserItem> | null, parentPath?: TreeItemDataTyped<BrowserItem>[]): void;
|
|
1764
|
+
/**
|
|
1765
|
+
* Save the current browser state using expanded keys from the tree.
|
|
1766
|
+
* This is more efficient as it doesn't require recursive tree traversal.
|
|
1767
|
+
*/
|
|
1768
|
+
saveStateWithKeys(selectedItem: TreeItemDataTyped<BrowserItem> | null, expandedKeys: string[]): void;
|
|
1769
|
+
/**
|
|
1770
|
+
* Get the saved browser state
|
|
1771
|
+
*/
|
|
1772
|
+
getState(): BrowserState | null;
|
|
1773
|
+
/**
|
|
1774
|
+
* Clear the saved state
|
|
1775
|
+
*/
|
|
1776
|
+
clearState(): void;
|
|
1777
|
+
/**
|
|
1778
|
+
* Check if the given item matches the saved state
|
|
1779
|
+
*/
|
|
1780
|
+
isItemMatching(item: TreeItemDataTyped<BrowserItem>): boolean;
|
|
1781
|
+
/**
|
|
1782
|
+
* Get unique identifier for a tree item
|
|
1783
|
+
*/
|
|
1784
|
+
private getItemId;
|
|
1785
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserStateService, never>;
|
|
1786
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeBrowserStateService>;
|
|
954
1787
|
}
|
|
955
1788
|
|
|
956
1789
|
/**
|
|
@@ -1044,11 +1877,32 @@ declare class RuntimeEntityVariableDialogService {
|
|
|
1044
1877
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeEntityVariableDialogService>;
|
|
1045
1878
|
}
|
|
1046
1879
|
|
|
1880
|
+
declare class TenantSwitcherComponent {
|
|
1881
|
+
currentTenantId: string | null;
|
|
1882
|
+
allowedTenants: string[];
|
|
1883
|
+
isDenied: boolean;
|
|
1884
|
+
tenantSelected: EventEmitter<string>;
|
|
1885
|
+
refreshRequested: EventEmitter<void>;
|
|
1886
|
+
protected readonly refreshIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
1887
|
+
protected isRefreshing: boolean;
|
|
1888
|
+
private anchor;
|
|
1889
|
+
private popup;
|
|
1890
|
+
showPopup: boolean;
|
|
1891
|
+
onKeydown(event: KeyboardEvent): void;
|
|
1892
|
+
onDocumentClick(event: MouseEvent): void;
|
|
1893
|
+
onToggle(): void;
|
|
1894
|
+
onSelectTenant(tenantId: string): void;
|
|
1895
|
+
onRefresh(event: MouseEvent): void;
|
|
1896
|
+
private contains;
|
|
1897
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TenantSwitcherComponent, never>;
|
|
1898
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TenantSwitcherComponent, "mm-tenant-switcher", never, { "currentTenantId": { "alias": "currentTenantId"; "required": false; }; "allowedTenants": { "alias": "allowedTenants"; "required": false; }; "isDenied": { "alias": "isDenied"; "required": false; }; }, { "tenantSelected": "tenantSelected"; "refreshRequested": "refreshRequested"; }, never, never, true, never>;
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1047
1901
|
/**
|
|
1048
1902
|
* Provides OctoUi services using modern Angular provider functions.
|
|
1049
1903
|
* This is the recommended approach for library providers.
|
|
1050
1904
|
*/
|
|
1051
1905
|
declare function provideOctoUi(): EnvironmentProviders;
|
|
1052
1906
|
|
|
1053
|
-
export { AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DefaultPropertyCategory, EntityIdInfoComponent, FieldFilterEditorComponent, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TenantSwitcherComponent, provideOctoUi };
|
|
1054
|
-
export type { AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, CkTypeSelectorDialogData, CkTypeSelectorDialogResult, CkTypeSelectorResult, FieldFilterItem, FilterVariable, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption };
|
|
1907
|
+
export { AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_RUNTIME_BROWSER_MESSAGES, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, FieldFilterEditorComponent, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TenantSwitcherComponent, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, graphic_eq, group, identityService, insert_link, manage_accounts, more_time, notifications, page_info, pages, person_search, playlist_add_check, pool, power, provideOctoUi, publicIcon, query_builder, schedule_send, settings, sort, storage, swagger, swagger_asset, swagger_bot, swagger_communication, swagger_identity, team_dashboard, tenancy, text_snippet, travel_explore, user_diagnostics, webhook, work };
|
|
1908
|
+
export type { AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserState, CkTypeSelectorDialogData, CkTypeSelectorDialogResult, CkTypeSelectorResult, FieldFilterItem, FilterVariable, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption };
|