@meshmakers/octo-ui 3.4.280 → 3.4.290
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/fesm2022/meshmakers-octo-ui-tree-navigation-settings.mjs +347 -0
- package/fesm2022/meshmakers-octo-ui-tree-navigation-settings.mjs.map +1 -0
- package/fesm2022/meshmakers-octo-ui.mjs +685 -194
- package/fesm2022/meshmakers-octo-ui.mjs.map +1 -1
- package/lib/runtime-browser/styles/_styles.scss +5 -23
- package/package.json +5 -1
- package/types/meshmakers-octo-ui-tree-navigation-settings.d.ts +132 -0
- package/types/meshmakers-octo-ui.d.ts +161 -6
|
@@ -3818,29 +3818,11 @@
|
|
|
3818
3818
|
}
|
|
3819
3819
|
}
|
|
3820
3820
|
|
|
3821
|
-
//
|
|
3822
|
-
//
|
|
3823
|
-
//
|
|
3824
|
-
//
|
|
3825
|
-
//
|
|
3826
|
-
kendo-tilelayout-item[style*="position: fixed"] {
|
|
3827
|
-
zoom: calc(1 / var(--density-zoom, 1));
|
|
3828
|
-
}
|
|
3829
|
-
|
|
3830
|
-
// Fix Kendo popup positioning when CSS zoom (density) is active on kendo-drawer-content.
|
|
3831
|
-
// Popups with appendTo:'root' are rendered as direct children of <app-root>, outside
|
|
3832
|
-
// the zoomed container. The dropdown component uses wrapper.offsetWidth (inflated by
|
|
3833
|
-
// the zoom factor) for min-width, causing popups to be too wide and mispositioned.
|
|
3834
|
-
// Using transform:scale() instead of CSS zoom because:
|
|
3835
|
-
// - CSS zoom scales BOTH content AND the element's left/top position interpretation,
|
|
3836
|
-
// causing the popup to shift up-left from its intended anchor position.
|
|
3837
|
-
// - transform:scale() only scales the visual rendering from transform-origin,
|
|
3838
|
-
// keeping left/top positioning intact (calculated correctly by Kendo from
|
|
3839
|
-
// getBoundingClientRect of the anchor element).
|
|
3840
|
-
app-root > .k-animation-container {
|
|
3841
|
-
transform: scale(var(--density-zoom, 1));
|
|
3842
|
-
transform-origin: top left;
|
|
3843
|
-
}
|
|
3821
|
+
// NOTE (AB#4258): the former CSS-`zoom`-based UI density was replaced by root
|
|
3822
|
+
// font-size (rem) scaling, so there is no ancestor `zoom` anymore. The Kendo
|
|
3823
|
+
// TileLayout drag-offset and popup-position counter-zoom hacks that used to live
|
|
3824
|
+
// here (keyed on `--density-zoom`) are therefore obsolete and were removed —
|
|
3825
|
+
// coordinates now map 1:1 without compensation.
|
|
3844
3826
|
|
|
3845
3827
|
// Widget Error State
|
|
3846
3828
|
.widget-error {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshmakers/octo-ui",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.290",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@ngx-translate/core": "^17.0.0",
|
|
6
6
|
"@angular/animations": "^22.0.0",
|
|
@@ -50,6 +50,10 @@
|
|
|
50
50
|
"./branding-settings": {
|
|
51
51
|
"types": "./types/meshmakers-octo-ui-branding-settings.d.ts",
|
|
52
52
|
"default": "./fesm2022/meshmakers-octo-ui-branding-settings.mjs"
|
|
53
|
+
},
|
|
54
|
+
"./tree-navigation-settings": {
|
|
55
|
+
"types": "./types/meshmakers-octo-ui-tree-navigation-settings.d.ts",
|
|
56
|
+
"default": "./fesm2022/meshmakers-octo-ui-tree-navigation-settings.mjs"
|
|
53
57
|
}
|
|
54
58
|
},
|
|
55
59
|
"type": "module"
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
|
|
2
|
+
import * as _angular_forms from '@angular/forms';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { OnInit } from '@angular/core';
|
|
6
|
+
import { Routes } from '@angular/router';
|
|
7
|
+
|
|
8
|
+
/** UI strings for the tree navigation settings editor. */
|
|
9
|
+
interface TreeNavigationSettingsMessages {
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
/** Shown when System.UI < 2.2.0 (the CK type is not installed on the tenant). */
|
|
13
|
+
notInstalled: string;
|
|
14
|
+
columnSourceType: string;
|
|
15
|
+
columnRole: string;
|
|
16
|
+
columnDisplayName: string;
|
|
17
|
+
columnSortIndex: string;
|
|
18
|
+
columnVisible: string;
|
|
19
|
+
columnGrouped: string;
|
|
20
|
+
columnIcon: string;
|
|
21
|
+
columnActions: string;
|
|
22
|
+
visibleAuto: string;
|
|
23
|
+
visibleShow: string;
|
|
24
|
+
visibleHide: string;
|
|
25
|
+
groupedAuto: string;
|
|
26
|
+
groupedGroup: string;
|
|
27
|
+
groupedFlatten: string;
|
|
28
|
+
sourceTypeHint: string;
|
|
29
|
+
roleHint: string;
|
|
30
|
+
addRule: string;
|
|
31
|
+
removeRule: string;
|
|
32
|
+
save: string;
|
|
33
|
+
reload: string;
|
|
34
|
+
export: string;
|
|
35
|
+
import: string;
|
|
36
|
+
empty: string;
|
|
37
|
+
saveSuccess: string;
|
|
38
|
+
saveError: string;
|
|
39
|
+
loadError: string;
|
|
40
|
+
exportNothing: string;
|
|
41
|
+
exportError: string;
|
|
42
|
+
importSuccess: string;
|
|
43
|
+
importError: string;
|
|
44
|
+
}
|
|
45
|
+
/** English defaults; hosts may override via the `messages` input. */
|
|
46
|
+
declare const DEFAULT_TREE_NAVIGATION_SETTINGS_MESSAGES: TreeNavigationSettingsMessages;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Admin editor for the per-tenant `System.UI/TreeNavigationConfiguration`.
|
|
50
|
+
* Each row is one override rule matched by (source type, role id); `*` as the
|
|
51
|
+
* source type matches every type. Empty dropdown value = auto (default
|
|
52
|
+
* behavior). Source type and role id offer autocomplete suggestions but also
|
|
53
|
+
* accept custom values (so orphan roles remain configurable).
|
|
54
|
+
*/
|
|
55
|
+
declare class TreeNavigationSettingsComponent implements OnInit {
|
|
56
|
+
readonly messages: _angular_core.InputSignal<TreeNavigationSettingsMessages>;
|
|
57
|
+
private readonly fb;
|
|
58
|
+
private readonly config;
|
|
59
|
+
private readonly ckTypeSelector;
|
|
60
|
+
private readonly assetRepo;
|
|
61
|
+
private readonly jobs;
|
|
62
|
+
private readonly importStrategyDialog;
|
|
63
|
+
private readonly route;
|
|
64
|
+
private readonly messageService;
|
|
65
|
+
protected readonly loading: _angular_core.WritableSignal<boolean>;
|
|
66
|
+
protected readonly saving: _angular_core.WritableSignal<boolean>;
|
|
67
|
+
protected readonly typePresent: _angular_core.WritableSignal<boolean>;
|
|
68
|
+
private rtId;
|
|
69
|
+
protected readonly rules: _angular_forms.FormArray<FormGroup<any>>;
|
|
70
|
+
protected readonly ckTypeSuggestions: _angular_core.WritableSignal<string[]>;
|
|
71
|
+
protected readonly roleSuggestions: _angular_core.WritableSignal<{
|
|
72
|
+
roleId: string;
|
|
73
|
+
label: string;
|
|
74
|
+
}[]>;
|
|
75
|
+
protected readonly saveIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
76
|
+
protected readonly plusIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
77
|
+
protected readonly reloadIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
78
|
+
protected readonly removeIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
79
|
+
protected readonly exportIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
80
|
+
protected readonly importIcon: _progress_kendo_svg_icons.SVGIcon;
|
|
81
|
+
protected readonly visibleOptions: _angular_core.Signal<{
|
|
82
|
+
text: string;
|
|
83
|
+
value: string;
|
|
84
|
+
}[]>;
|
|
85
|
+
protected readonly groupedOptions: _angular_core.Signal<{
|
|
86
|
+
text: string;
|
|
87
|
+
value: string;
|
|
88
|
+
}[]>;
|
|
89
|
+
ngOnInit(): Promise<void>;
|
|
90
|
+
protected reload(): Promise<void>;
|
|
91
|
+
protected addRule(): void;
|
|
92
|
+
protected removeRule(index: number): void;
|
|
93
|
+
protected onSave(): Promise<void>;
|
|
94
|
+
/** Loads CK type suggestions for the source-type combobox (server filter). */
|
|
95
|
+
protected searchCkTypes(term: string): Promise<void>;
|
|
96
|
+
/** Loads role suggestions for the source type of the opened row's combobox. */
|
|
97
|
+
protected loadRoleSuggestions(row: FormGroup): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Exports the saved configuration singleton as a deep-graph runtime model ZIP,
|
|
100
|
+
* via the standard asset-repo export job (same mechanism as pools / adapters /
|
|
101
|
+
* data flows). Requires the config to have been saved first.
|
|
102
|
+
*/
|
|
103
|
+
protected export(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Imports a configuration from a deep-graph runtime model ZIP via the standard
|
|
106
|
+
* import-strategy dialog + asset-repo import job, then reloads the editor.
|
|
107
|
+
*/
|
|
108
|
+
protected onFileSelected(event: Event): Promise<void>;
|
|
109
|
+
/** Resolves the tenant id from the route hierarchy (route is /:tenantId/...). */
|
|
110
|
+
private getTenantId;
|
|
111
|
+
private collectRoles;
|
|
112
|
+
private createRow;
|
|
113
|
+
private toRoleConfig;
|
|
114
|
+
private toVisibleValue;
|
|
115
|
+
private toGroupedValue;
|
|
116
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNavigationSettingsComponent, never>;
|
|
117
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeNavigationSettingsComponent, "mm-tree-navigation-settings", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Routes for the tree navigation settings UI. Mount under any path, e.g.:
|
|
122
|
+
*
|
|
123
|
+
* ```ts
|
|
124
|
+
* { path: 'tree-navigation', canActivate: [adminGuard], children: TREE_NAVIGATION_SETTINGS_ROUTES }
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* The component is lazy-loaded on first navigation (`loadComponent`).
|
|
128
|
+
*/
|
|
129
|
+
declare const TREE_NAVIGATION_SETTINGS_ROUTES: Routes;
|
|
130
|
+
|
|
131
|
+
export { DEFAULT_TREE_NAVIGATION_SETTINGS_MESSAGES, TREE_NAVIGATION_SETTINGS_ROUTES, TreeNavigationSettingsComponent };
|
|
132
|
+
export type { TreeNavigationSettingsMessages };
|
|
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
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, RtEntityDto, FieldFilterDto, SearchFilterDto, SortDto, CkModelDto, CkTypeDto, RtAssociationDto, FieldFilterOperatorsDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
|
|
5
|
+
import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, RtEntityDto, FieldFilterDto, SearchFilterDto, SortDto, CkModelDto, CkTypeDto, GraphDirectionDto, RtAssociationDto, FieldFilterOperatorsDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
|
|
6
6
|
import { GridDataResult, CellClickEvent, RowArgs, PageChangeEvent, SelectionEvent } from '@progress/kendo-angular-grid';
|
|
7
7
|
import { TreeItemDataTyped, TreeItemData, CommandItemExecuteEventArgs, CommandItem } from '@meshmakers/shared-services';
|
|
8
8
|
import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
@@ -601,10 +601,25 @@ declare class EntityIdInfoComponent {
|
|
|
601
601
|
type BrowserItem$3 = RtEntityDto | CkModelDto | CkTypeDto | {
|
|
602
602
|
isCkModelsRoot?: boolean;
|
|
603
603
|
ckModelId?: string;
|
|
604
|
-
};
|
|
604
|
+
} | AssociationGroupNode;
|
|
605
|
+
/**
|
|
606
|
+
* Synthetic tree node that groups all entities reachable from a parent entity
|
|
607
|
+
* through a single association role (e.g. "ContainedSensors"). Its children are
|
|
608
|
+
* loaded lazily on expand. It is intentionally not a runtime entity, so the
|
|
609
|
+
* toolbar create/edit/delete actions and the entity picker stay disabled for it.
|
|
610
|
+
*/
|
|
611
|
+
interface AssociationGroupNode {
|
|
612
|
+
isAssociationGroup: true;
|
|
613
|
+
parentRtId: string;
|
|
614
|
+
parentCkTypeId: string;
|
|
615
|
+
roleId: string;
|
|
616
|
+
targetCkTypeId: string;
|
|
617
|
+
direction: GraphDirectionDto;
|
|
618
|
+
}
|
|
605
619
|
declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<BrowserItem$3> {
|
|
606
620
|
private readonly getTreesDtoGQL;
|
|
607
|
-
private readonly
|
|
621
|
+
private readonly getCkTypeAssociationRolesDtoGQL;
|
|
622
|
+
private readonly getTreeAssociationTargetsDtoGQL;
|
|
608
623
|
private readonly getCkModelsGQL;
|
|
609
624
|
private readonly getCkTypesGQL;
|
|
610
625
|
private readonly getCkModelByIdDtoGQL;
|
|
@@ -613,12 +628,59 @@ declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<Br
|
|
|
613
628
|
private readonly updateRuntimeEntitiesDtoGQL;
|
|
614
629
|
private readonly updateTreeNodesDtoGQL;
|
|
615
630
|
private readonly typeHelperService;
|
|
631
|
+
private readonly treeNavConfig;
|
|
616
632
|
private isCkModelsRoot;
|
|
617
633
|
private isCkModel;
|
|
618
634
|
private isCkType;
|
|
619
|
-
private
|
|
635
|
+
private isAssociationGroup;
|
|
636
|
+
/**
|
|
637
|
+
* Cache of inbound association roles per CK type id. Discovered lazily from
|
|
638
|
+
* the CK schema and reused across tree expansions (and to decide whether a
|
|
639
|
+
* child entity node is expandable). Lives on the instance because the tree is
|
|
640
|
+
* created fresh per browser/picker mount.
|
|
641
|
+
*/
|
|
642
|
+
private readonly inboundRolesCache;
|
|
620
643
|
private static readonly ckTypeMetaData;
|
|
621
644
|
fetchChildren(item: TreeItemDataTyped<BrowserItem$3>): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
|
|
645
|
+
/**
|
|
646
|
+
* Discovers the navigable inbound role groups of an entity from its ACTUAL
|
|
647
|
+
* inbound edges (associations.definitions), grouped by (roleId, origin CK
|
|
648
|
+
* type) with exact counts. Labels are enriched from the CK type schema
|
|
649
|
+
* (friendly inbound navigation property name) when the role is declared on the
|
|
650
|
+
* type, and otherwise derived from the role id (so orphan roles still get a
|
|
651
|
+
* readable label).
|
|
652
|
+
*/
|
|
653
|
+
private discoverEntityInboundRoleGroups;
|
|
654
|
+
/** Readable fallback label for a role id without a schema navigation name. */
|
|
655
|
+
private deriveRoleLabel;
|
|
656
|
+
/**
|
|
657
|
+
* Orders group nodes by configured sortIndex (ascending, unconfigured last),
|
|
658
|
+
* then by navigation property name for a stable, readable order.
|
|
659
|
+
*/
|
|
660
|
+
private compareGroupOrder;
|
|
661
|
+
/** Resolves a configured group icon name to an SVG icon (folder by default). */
|
|
662
|
+
private resolveGroupIcon;
|
|
663
|
+
/**
|
|
664
|
+
* Returns the inbound association roles of a CK type, discovered from the CK
|
|
665
|
+
* schema and cached per type id for the lifetime of this data source.
|
|
666
|
+
*/
|
|
667
|
+
private getInboundRoles;
|
|
668
|
+
/** Loads the target entities reachable from an entity through one role. */
|
|
669
|
+
private fetchAssociationTargets;
|
|
670
|
+
/**
|
|
671
|
+
* Builds tree items for runtime entities, de-duplicating by rtId and marking
|
|
672
|
+
* an entity expandable when its CK type defines at least one inbound
|
|
673
|
+
* association role.
|
|
674
|
+
*/
|
|
675
|
+
private buildEntityTreeItems;
|
|
676
|
+
/** Stable tree-node id for an association group node. */
|
|
677
|
+
private buildGroupNodeId;
|
|
678
|
+
/** Resolves the display label of an entity from its name/displayName attributes. */
|
|
679
|
+
private extractDisplayName;
|
|
680
|
+
/** Resolves the tooltip of an entity from its description attribute. */
|
|
681
|
+
private extractTooltip;
|
|
682
|
+
/** Resolves the icon for a CK type, falling back to a generic entity icon. */
|
|
683
|
+
private resolveIcon;
|
|
622
684
|
fetchRootNodes(): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
|
|
623
685
|
/**
|
|
624
686
|
* Gets ParentChild association of given Runtime Entity.
|
|
@@ -2416,6 +2478,99 @@ declare class RuntimeBrowserStateService {
|
|
|
2416
2478
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<RuntimeBrowserStateService>;
|
|
2417
2479
|
}
|
|
2418
2480
|
|
|
2481
|
+
/** One resolved per-role override (presentation only). */
|
|
2482
|
+
interface TreeNavigationRoleOverride {
|
|
2483
|
+
visible?: boolean;
|
|
2484
|
+
displayName?: string;
|
|
2485
|
+
sortIndex?: number;
|
|
2486
|
+
grouped?: boolean;
|
|
2487
|
+
icon?: string;
|
|
2488
|
+
}
|
|
2489
|
+
/** One editable override rule (a row in the settings editor). */
|
|
2490
|
+
interface TreeNavigationRoleConfig {
|
|
2491
|
+
/** Source CK type id this rule applies to, or `*` for every type. */
|
|
2492
|
+
sourceCkTypeId: string;
|
|
2493
|
+
/** Runtime association role id (e.g. `EnergyIQ/SpaceSensors`). */
|
|
2494
|
+
roleId: string;
|
|
2495
|
+
visible?: boolean;
|
|
2496
|
+
displayName?: string;
|
|
2497
|
+
sortIndex?: number;
|
|
2498
|
+
grouped?: boolean;
|
|
2499
|
+
icon?: string;
|
|
2500
|
+
}
|
|
2501
|
+
/** The full configuration as loaded for editing. */
|
|
2502
|
+
interface TreeNavigationConfig {
|
|
2503
|
+
/** rtId of the singleton, or null when it does not exist yet. */
|
|
2504
|
+
rtId: string | null;
|
|
2505
|
+
/** True when the CK type is installed on the tenant (System.UI >= 2.2.0). */
|
|
2506
|
+
typePresent: boolean;
|
|
2507
|
+
roles: TreeNavigationRoleConfig[];
|
|
2508
|
+
}
|
|
2509
|
+
/**
|
|
2510
|
+
* Loads the optional per-tenant `System.UI/TreeNavigationConfiguration` singleton
|
|
2511
|
+
* and resolves per-association overrides for the entity trees.
|
|
2512
|
+
*
|
|
2513
|
+
* Design notes:
|
|
2514
|
+
* - The config entity is OPTIONAL. When the CK type is not installed on the
|
|
2515
|
+
* tenant (System.UI < 2.2.0) or no instance exists, every lookup returns
|
|
2516
|
+
* undefined and the trees fall back to pure auto-discovery.
|
|
2517
|
+
* - The singleton field (`systemUITreeNavigationConfiguration`) only exists in
|
|
2518
|
+
* the tenant schema when the CK type is installed, so querying it blindly
|
|
2519
|
+
* would raise a GraphQL validation error (and a user-facing toast). We first
|
|
2520
|
+
* probe the CK schema with the always-valid `constructionKit.types` query and
|
|
2521
|
+
* only run the singleton query when the type is present.
|
|
2522
|
+
* - Uses inline `gql` (not codegen) so the feature is decoupled from a schema
|
|
2523
|
+
* re-introspection that includes the new CK type.
|
|
2524
|
+
*/
|
|
2525
|
+
declare class TreeNavigationConfigService {
|
|
2526
|
+
private readonly apollo;
|
|
2527
|
+
/** key `${sourceCkTypeId}::${roleId}` -> override; cached for the session. */
|
|
2528
|
+
private overridesPromise?;
|
|
2529
|
+
/**
|
|
2530
|
+
* Resolves the override for one (source type, role) pair, preferring an exact
|
|
2531
|
+
* source-type match over a wildcard (`*`) rule. Returns undefined when nothing
|
|
2532
|
+
* is configured.
|
|
2533
|
+
*/
|
|
2534
|
+
resolve(sourceCkTypeId: string, roleId: string): Promise<TreeNavigationRoleOverride | undefined>;
|
|
2535
|
+
/** Forces a reload on next access (e.g. after a tenant switch). */
|
|
2536
|
+
reset(): void;
|
|
2537
|
+
/**
|
|
2538
|
+
* Returns the inbound association roles declared on a CK type, for the role
|
|
2539
|
+
* autocomplete in the settings editor. Returns `{ roleId, label }` where the
|
|
2540
|
+
* label is the friendly inbound name plus the role id. Empty for `*` or an
|
|
2541
|
+
* unknown type (orphan roles can still be typed as custom values).
|
|
2542
|
+
*/
|
|
2543
|
+
getRoleSuggestions(ckTypeId: string): Promise<{
|
|
2544
|
+
roleId: string;
|
|
2545
|
+
label: string;
|
|
2546
|
+
}[]>;
|
|
2547
|
+
private getOverrides;
|
|
2548
|
+
private load;
|
|
2549
|
+
/**
|
|
2550
|
+
* Loads the full configuration for editing (settings page). Returns whether
|
|
2551
|
+
* the CK type is installed (so the page can show a clear "upgrade System.UI"
|
|
2552
|
+
* hint), the singleton rtId (null when not created yet), and the role rules.
|
|
2553
|
+
*/
|
|
2554
|
+
loadConfig(): Promise<TreeNavigationConfig>;
|
|
2555
|
+
/**
|
|
2556
|
+
* Creates or updates the singleton with the given rules, then invalidates the
|
|
2557
|
+
* resolve cache so the trees pick up the change on the next expand. Returns the
|
|
2558
|
+
* singleton rtId.
|
|
2559
|
+
*/
|
|
2560
|
+
saveConfig(rtId: string | null, roles: TreeNavigationRoleConfig[]): Promise<string>;
|
|
2561
|
+
/** Drops undefined fields so the record-array input only carries set values. */
|
|
2562
|
+
private toRoleInput;
|
|
2563
|
+
/** Probes the CK schema and (when present) loads the singleton's raw roles. */
|
|
2564
|
+
private fetchSingleton;
|
|
2565
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNavigationConfigService, never>;
|
|
2566
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TreeNavigationConfigService>;
|
|
2567
|
+
}
|
|
2568
|
+
declare const TREE_NAVIGATION_CONFIG_CONSTANTS: {
|
|
2569
|
+
CONFIG_CK_TYPE_ID: string;
|
|
2570
|
+
CONFIG_WELL_KNOWN_NAME: string;
|
|
2571
|
+
WILDCARD: string;
|
|
2572
|
+
};
|
|
2573
|
+
|
|
2419
2574
|
/**
|
|
2420
2575
|
* View model for a DataPointMapping entity with resolved source/target information.
|
|
2421
2576
|
* Used by the DataMappingOverviewComponent for display in the grid.
|
|
@@ -3158,5 +3313,5 @@ declare class TenantSwitcherComponent {
|
|
|
3158
3313
|
*/
|
|
3159
3314
|
declare function provideOctoUi(): EnvironmentProviders;
|
|
3160
3315
|
|
|
3161
|
-
export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_CK_TYPE_SELECTOR_DIALOG_MESSAGES, DEFAULT_CK_TYPE_SELECTOR_INPUT_MESSAGES, DEFAULT_DATA_POINT, DEFAULT_MAPPING_COVERAGE_TREE_CONFIG, DEFAULT_PROPERTY_GRID_MESSAGES, DEFAULT_RUNTIME_BROWSER_MESSAGES, DataMappingOverviewComponent, DataPointPickerComponent, DataPointResolverService, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, EntitySelectorDialogComponent, EntitySelectorDialogService, FieldFilterEditorComponent, MappingCoverageTreeComponent, MappingCoverageTreeDataSource, MappingEditDialogComponent, MappingEditDialogService, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RecordDetailDialogComponent, 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, extractDataPointNames, 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 };
|
|
3162
|
-
export type { AttributeItemLike, AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogMessages, CkTypeSelectorDialogResult, CkTypeSelectorInputMessages, CkTypeSelectorResult, CoverageEntityRef, CoverageMappingItem, CoverageNodePayload, CoverageTreeIcons, CoverageTreeItem, DataPointMappingItem, DataPointMappingOverviewItem, EntitySelectorDialogData, EntitySelectorDialogResult, EntitySelectorResult, ExpressionValidationResult, ExpressionValidatorFn, FieldFilterItem, FilterVariable, MappingCoverageTreeConfig, MappingEditDialogData, MappingEditDialogResult, MappingEditValue, MappingOverviewSummary, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, PropertyGridMessages, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption, ValidationMessage };
|
|
3316
|
+
export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_CK_TYPE_SELECTOR_DIALOG_MESSAGES, DEFAULT_CK_TYPE_SELECTOR_INPUT_MESSAGES, DEFAULT_DATA_POINT, DEFAULT_MAPPING_COVERAGE_TREE_CONFIG, DEFAULT_PROPERTY_GRID_MESSAGES, DEFAULT_RUNTIME_BROWSER_MESSAGES, DataMappingOverviewComponent, DataPointPickerComponent, DataPointResolverService, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, EntitySelectorDialogComponent, EntitySelectorDialogService, FieldFilterEditorComponent, MappingCoverageTreeComponent, MappingCoverageTreeDataSource, MappingEditDialogComponent, MappingEditDialogService, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RecordDetailDialogComponent, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TREE_NAVIGATION_CONFIG_CONSTANTS, TenantSwitcherComponent, TreeNavigationConfigService, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, extractDataPointNames, 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 };
|
|
3317
|
+
export type { AttributeItemLike, AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogMessages, CkTypeSelectorDialogResult, CkTypeSelectorInputMessages, CkTypeSelectorResult, CoverageEntityRef, CoverageMappingItem, CoverageNodePayload, CoverageTreeIcons, CoverageTreeItem, DataPointMappingItem, DataPointMappingOverviewItem, EntitySelectorDialogData, EntitySelectorDialogResult, EntitySelectorResult, ExpressionValidationResult, ExpressionValidatorFn, FieldFilterItem, FilterVariable, MappingCoverageTreeConfig, MappingEditDialogData, MappingEditDialogResult, MappingEditValue, MappingOverviewSummary, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, PropertyGridMessages, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption, TreeNavigationConfig, TreeNavigationRoleConfig, TreeNavigationRoleOverride, ValidationMessage };
|