@masterteam/delegations 0.0.35 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/delegations",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.37",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": "../../../dist/masterteam/delegations",
|
|
6
6
|
"linkDirectory": false,
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"tailwindcss": "^4.2.2",
|
|
21
21
|
"tailwindcss-primeui": "^0.6.1",
|
|
22
22
|
"@ngxs/store": "^20.1.0",
|
|
23
|
-
"@masterteam/icons": "^0.0.15",
|
|
24
23
|
"@masterteam/components": "^0.0.179",
|
|
25
|
-
"@masterteam/forms": "^0.0.81"
|
|
24
|
+
"@masterteam/forms": "^0.0.81",
|
|
25
|
+
"@masterteam/icons": "^0.0.15"
|
|
26
26
|
},
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"exports": {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as _masterteam_components_entities from '@masterteam/components/entities';
|
|
2
|
-
import { EntityUserValue } from '@masterteam/components/entities';
|
|
3
1
|
import * as _masterteam_delegations from '@masterteam/delegations';
|
|
4
2
|
import * as _angular_core from '@angular/core';
|
|
5
3
|
import { OnInit } from '@angular/core';
|
|
6
4
|
import { Popover } from 'primeng/popover';
|
|
5
|
+
import * as _masterteam_components_entities from '@masterteam/components/entities';
|
|
6
|
+
import { EntityUserValue } from '@masterteam/components/entities';
|
|
7
7
|
import { PageHeaderTab } from '@masterteam/components/page-header';
|
|
8
8
|
import { TableAction, TableStatusMapValue, ColumnDef } from '@masterteam/components/table';
|
|
9
9
|
import { FormControl } from '@angular/forms';
|
|
@@ -11,7 +11,6 @@ import { HttpContext, HttpInterceptorFn } from '@angular/common/http';
|
|
|
11
11
|
import { DynamicFormConfig } from '@masterteam/components';
|
|
12
12
|
import { ModalRef } from '@masterteam/components/dialog';
|
|
13
13
|
import { ModalService } from '@masterteam/components/modal';
|
|
14
|
-
import { TreeNode, TreeActionEvent } from '@masterteam/components/tree';
|
|
15
14
|
import * as rxjs from 'rxjs';
|
|
16
15
|
import { StateContext } from '@ngxs/store';
|
|
17
16
|
|
|
@@ -74,6 +73,8 @@ interface DelegationScopeTarget {
|
|
|
74
73
|
applicationKey: string;
|
|
75
74
|
targetType: string;
|
|
76
75
|
targetKey: string;
|
|
76
|
+
/** Backend-localized name (preferred display source in the new contract). */
|
|
77
|
+
name?: DelegationDisplayValue;
|
|
77
78
|
parentTargetType?: string | null;
|
|
78
79
|
parentTargetKey?: string | null;
|
|
79
80
|
parentDisplayName?: DelegationDisplayValue;
|
|
@@ -95,6 +96,8 @@ interface DelegationScopeAction {
|
|
|
95
96
|
applicationKey: string;
|
|
96
97
|
operationKey: string;
|
|
97
98
|
operationKind: string;
|
|
99
|
+
/** Backend-localized name (preferred display source in the new contract). */
|
|
100
|
+
name?: DelegationDisplayValue;
|
|
98
101
|
displayName?: DelegationDisplayValue;
|
|
99
102
|
displayLabel?: DelegationDisplayValue;
|
|
100
103
|
operationDisplayName?: DelegationDisplayValue;
|
|
@@ -158,7 +161,60 @@ interface DelegationScopeHierarchyGroup {
|
|
|
158
161
|
sortOrder?: number | null;
|
|
159
162
|
targets: DelegationScopeHierarchyTarget[];
|
|
160
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* New `scope/options` contract (doc 03): `permissions` is a Template -> Level ->
|
|
166
|
+
* Module hierarchy where Level and Level Module are both selectable permission
|
|
167
|
+
* surfaces, each carrying its own backend-filtered `operations`. `appAccessibility`
|
|
168
|
+
* lists optional accessibility grants with backend-localized names.
|
|
169
|
+
*/
|
|
170
|
+
interface DelegationScopeModuleNode {
|
|
171
|
+
applicationKey: string;
|
|
172
|
+
targetType: string;
|
|
173
|
+
targetKey: string;
|
|
174
|
+
name?: DelegationDisplayValue;
|
|
175
|
+
legacyModuleId?: number | null;
|
|
176
|
+
levelId?: number | null;
|
|
177
|
+
levelModuleId?: number | null;
|
|
178
|
+
domainModuleId?: number | null;
|
|
179
|
+
targetId?: number | null;
|
|
180
|
+
moduleKey?: string | null;
|
|
181
|
+
permissionModuleType?: string | null;
|
|
182
|
+
permissionTargetId?: number | null;
|
|
183
|
+
sortOrder?: number | null;
|
|
184
|
+
operations?: DelegationScopeAction[] | null;
|
|
185
|
+
}
|
|
186
|
+
interface DelegationScopeLevelNode {
|
|
187
|
+
applicationKey: string;
|
|
188
|
+
targetType: string;
|
|
189
|
+
targetKey: string;
|
|
190
|
+
name?: DelegationDisplayValue;
|
|
191
|
+
legacyModuleId?: number | null;
|
|
192
|
+
levelId?: number | null;
|
|
193
|
+
targetId?: number | null;
|
|
194
|
+
permissionModuleType?: string | null;
|
|
195
|
+
permissionTargetId?: number | null;
|
|
196
|
+
sortOrder?: number | null;
|
|
197
|
+
operations?: DelegationScopeAction[] | null;
|
|
198
|
+
modules?: DelegationScopeModuleNode[] | null;
|
|
199
|
+
}
|
|
200
|
+
interface DelegationScopePermissionGroup {
|
|
201
|
+
groupType: string;
|
|
202
|
+
groupKey: string;
|
|
203
|
+
name?: DelegationDisplayValue;
|
|
204
|
+
templateId?: number | null;
|
|
205
|
+
sortOrder?: number | null;
|
|
206
|
+
levels?: DelegationScopeLevelNode[] | null;
|
|
207
|
+
}
|
|
208
|
+
interface DelegationAppAccessibility {
|
|
209
|
+
accessibilityGroupId?: number | null;
|
|
210
|
+
applicationKey: string;
|
|
211
|
+
accessibilityKey: string;
|
|
212
|
+
name?: DelegationDisplayValue;
|
|
213
|
+
labelKey?: string | null;
|
|
214
|
+
}
|
|
161
215
|
interface DelegationScopeOptions {
|
|
216
|
+
permissions?: DelegationScopePermissionGroup[] | null;
|
|
217
|
+
appAccessibility?: DelegationAppAccessibility[] | null;
|
|
162
218
|
hierarchy?: DelegationScopeHierarchyGroup[] | null;
|
|
163
219
|
grants?: DelegationGrant[] | null;
|
|
164
220
|
metadata?: Record<string, unknown>;
|
|
@@ -314,12 +370,18 @@ interface DelegationsStateModel extends LoadingStateShape<DelegationsActionKey>
|
|
|
314
370
|
}
|
|
315
371
|
|
|
316
372
|
/**
|
|
317
|
-
* Topbar surface for the delegation runtime (doc 05, 09).
|
|
373
|
+
* Topbar surface + controller for the delegation runtime (doc 05, 09).
|
|
374
|
+
*
|
|
375
|
+
* Always-mounted controller: loads the delegation candidates and shows the
|
|
376
|
+
* post-login prompt. Visible trigger states:
|
|
377
|
+
* - hidden — no candidates, no active session;
|
|
378
|
+
* - candidates — icon button (matches sibling topbar icons) + count badge;
|
|
379
|
+
* - active — delegator avatar + "Acting on behalf of {delegator}".
|
|
318
380
|
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
381
|
+
* The popover content is the shared {@link DelegationMenuPanel}, which can also
|
|
382
|
+
* be embedded directly in a host menu (e.g. the user-avatar dropdown). Set
|
|
383
|
+
* `headless` to keep this controller mounted (loading + prompt) while rendering
|
|
384
|
+
* the panel elsewhere.
|
|
323
385
|
*/
|
|
324
386
|
declare class TopbarDelegationMenu implements OnInit {
|
|
325
387
|
/** Path to the management page, e.g. `/control-panel/delegations` or `/delegations`. */
|
|
@@ -327,29 +389,69 @@ declare class TopbarDelegationMenu implements OnInit {
|
|
|
327
389
|
readonly compact: _angular_core.InputSignal<boolean>;
|
|
328
390
|
readonly showManageLink: _angular_core.InputSignal<boolean>;
|
|
329
391
|
readonly promptOnCandidates: _angular_core.InputSignal<boolean>;
|
|
392
|
+
/**
|
|
393
|
+
* Suppress the *candidates* trigger (surface them elsewhere, e.g. the user
|
|
394
|
+
* dropdown via {@link DelegationMenuPanel}) while keeping candidate loading +
|
|
395
|
+
* the post-login prompt. The *active* "Acting on behalf of" pill stays visible
|
|
396
|
+
* even when headless — an active delegated session must always be obvious.
|
|
397
|
+
*/
|
|
398
|
+
readonly headless: _angular_core.InputSignal<boolean>;
|
|
330
399
|
private readonly facade;
|
|
331
400
|
private readonly modal;
|
|
332
401
|
private readonly transloco;
|
|
333
|
-
protected readonly popover: _angular_core.Signal<Popover>;
|
|
402
|
+
protected readonly popover: _angular_core.Signal<Popover | undefined>;
|
|
334
403
|
protected readonly active: _angular_core.Signal<_masterteam_delegations.ActiveDelegationSession | null>;
|
|
335
404
|
protected readonly candidates: _angular_core.Signal<DelegationRow[]>;
|
|
336
405
|
protected readonly hasCandidates: _angular_core.Signal<boolean>;
|
|
337
406
|
protected readonly onBehalfOf: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
|
|
338
407
|
protected readonly executedBy: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
|
|
339
408
|
private readonly promptShown;
|
|
340
|
-
protected readonly mode: _angular_core.Signal<"
|
|
409
|
+
protected readonly mode: _angular_core.Signal<"hidden" | "candidates" | "active">;
|
|
341
410
|
constructor();
|
|
342
411
|
ngOnInit(): void;
|
|
343
|
-
|
|
344
|
-
protected
|
|
412
|
+
/** Two-letter initials for a delegator avatar (matches the user-menu pattern). */
|
|
413
|
+
protected initials(party: DelegationRow['delegator'] | null | undefined): string;
|
|
345
414
|
togglePopover(event: Event): void;
|
|
346
|
-
|
|
347
|
-
switchTo(row: DelegationRow, event: MouseEvent): void;
|
|
348
|
-
endSession(event: MouseEvent): void;
|
|
415
|
+
closePopover(): void;
|
|
349
416
|
private openConfirm;
|
|
350
417
|
private openCandidatesPrompt;
|
|
351
418
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopbarDelegationMenu, never>;
|
|
352
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopbarDelegationMenu, "mt-topbar-delegation-menu", never, { "managePath": { "alias": "managePath"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "showManageLink": { "alias": "showManageLink"; "required": false; "isSignal": true; }; "promptOnCandidates": { "alias": "promptOnCandidates"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
419
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopbarDelegationMenu, "mt-topbar-delegation-menu", never, { "managePath": { "alias": "managePath"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "showManageLink": { "alias": "showManageLink"; "required": false; "isSignal": true; }; "promptOnCandidates": { "alias": "promptOnCandidates"; "required": false; "isSignal": true; }; "headless": { "alias": "headless"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Embeddable delegation menu content (doc 05, 09): renders the candidate /
|
|
424
|
+
* active-session rows and the start / switch / end actions, with no trigger of
|
|
425
|
+
* its own. Designed to be dropped inside a host menu (e.g. the user-avatar
|
|
426
|
+
* dropdown) or the topbar popover. Reads the shared `DelegationSessionFacade`
|
|
427
|
+
* signals; candidate loading + the post-login prompt stay in the always-mounted
|
|
428
|
+
* `TopbarDelegationMenu` controller.
|
|
429
|
+
*
|
|
430
|
+
* Emits `closeRequested` after any action so the host overlay can dismiss.
|
|
431
|
+
*/
|
|
432
|
+
declare class DelegationMenuPanel {
|
|
433
|
+
/** Path to the management page, e.g. `/control-panel/delegations` or `/delegations`. */
|
|
434
|
+
readonly managePath: _angular_core.InputSignal<string>;
|
|
435
|
+
readonly showManageLink: _angular_core.InputSignal<boolean>;
|
|
436
|
+
readonly closeRequested: _angular_core.OutputEmitterRef<void>;
|
|
437
|
+
private readonly facade;
|
|
438
|
+
private readonly modal;
|
|
439
|
+
private readonly transloco;
|
|
440
|
+
protected readonly active: _angular_core.Signal<_masterteam_delegations.ActiveDelegationSession | null>;
|
|
441
|
+
protected readonly candidates: _angular_core.Signal<DelegationRow[]>;
|
|
442
|
+
protected readonly hasCandidates: _angular_core.Signal<boolean>;
|
|
443
|
+
protected readonly onBehalfOf: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
|
|
444
|
+
protected readonly executedBy: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
|
|
445
|
+
protected readonly mode: _angular_core.Signal<"hidden" | "candidates" | "active">;
|
|
446
|
+
/** Two-letter initials for a delegator avatar (matches the user-menu pattern). */
|
|
447
|
+
protected initials(party: DelegationRow['delegator'] | null | undefined): string;
|
|
448
|
+
protected start(row: DelegationRow, event: MouseEvent): void;
|
|
449
|
+
protected switchTo(row: DelegationRow, event: MouseEvent): void;
|
|
450
|
+
protected endSession(event: MouseEvent): void;
|
|
451
|
+
protected onManage(): void;
|
|
452
|
+
private openConfirm;
|
|
453
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DelegationMenuPanel, never>;
|
|
454
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationMenuPanel, "mt-delegation-menu-panel", never, { "managePath": { "alias": "managePath"; "required": false; "isSignal": true; }; "showManageLink": { "alias": "showManageLink"; "required": false; "isSignal": true; }; }, { "closeRequested": "closeRequested"; }, never, never, true, never>;
|
|
353
455
|
}
|
|
354
456
|
|
|
355
457
|
interface StatusVisual {
|
|
@@ -493,6 +595,11 @@ declare class DelegationsList implements OnInit {
|
|
|
493
595
|
protected readonly emptyStateKey: _angular_core.Signal<string>;
|
|
494
596
|
protected readonly tableActions: _angular_core.Signal<TableAction[]>;
|
|
495
597
|
protected readonly rowActions: _angular_core.WritableSignal<TableAction[]>;
|
|
598
|
+
/**
|
|
599
|
+
* Table status accent colors. Kept in visual sync with the canonical palette
|
|
600
|
+
* in `delegation-status-chip` (its light-mode text colors) so the list table
|
|
601
|
+
* and the status chip render the same hue for each status.
|
|
602
|
+
*/
|
|
496
603
|
private readonly statusColors;
|
|
497
604
|
protected readonly statusMap: _angular_core.WritableSignal<Record<DelegationEffectiveStatus, TableStatusMapValue>>;
|
|
498
605
|
protected readonly tableColumns: _angular_core.WritableSignal<ColumnDef[]>;
|
|
@@ -587,16 +694,17 @@ declare class DelegationDetailDrawer implements OnInit {
|
|
|
587
694
|
private readonly facade;
|
|
588
695
|
private readonly transloco;
|
|
589
696
|
protected readonly ref: ModalRef;
|
|
590
|
-
protected readonly tabs: {
|
|
591
|
-
key: DetailTab;
|
|
592
|
-
i18n: string;
|
|
593
|
-
}[];
|
|
594
697
|
protected readonly activeTab: _angular_core.WritableSignal<DetailTab>;
|
|
698
|
+
protected readonly tabOptions: _angular_core.Signal<{
|
|
699
|
+
value: DetailTab;
|
|
700
|
+
label: string;
|
|
701
|
+
}[]>;
|
|
702
|
+
private readonly weekdayKeys;
|
|
595
703
|
protected readonly isLoading: _angular_core.Signal<boolean>;
|
|
596
704
|
protected readonly detail: _angular_core.Signal<_masterteam_delegations.DelegationDetail | null>;
|
|
597
705
|
protected readonly row: _angular_core.Signal<_masterteam_delegations.DelegationRow | null>;
|
|
598
706
|
ngOnInit(): void;
|
|
599
|
-
protected
|
|
707
|
+
protected formatSpecificDays(days: readonly number[] | null | undefined): string;
|
|
600
708
|
protected approvalLabel(): string;
|
|
601
709
|
protected getScopeTargetLabel(target: DelegationScopeTarget): string;
|
|
602
710
|
protected getScopeActionLabel(action: DelegationScopeAction): string;
|
|
@@ -606,29 +714,29 @@ declare class DelegationDetailDrawer implements OnInit {
|
|
|
606
714
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationDetailDrawer, "mt-delegation-detail-drawer", never, { "delegationId": { "alias": "delegationId"; "required": true; "isSignal": true; }; "adminMode": { "alias": "adminMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
607
715
|
}
|
|
608
716
|
|
|
609
|
-
|
|
717
|
+
type DelegationScopeNodeKind = 'template' | 'level' | 'module' | 'operation';
|
|
718
|
+
interface DelegationScopeTreeNode {
|
|
610
719
|
key: string;
|
|
611
|
-
|
|
612
|
-
grants: DelegationGrant[];
|
|
613
|
-
sortOrder: number;
|
|
614
|
-
}
|
|
615
|
-
interface DelegationGrantableHierarchyGroup {
|
|
616
|
-
key: string;
|
|
617
|
-
groupType: string;
|
|
720
|
+
kind: DelegationScopeNodeKind;
|
|
618
721
|
displayName?: DelegationDisplayValue;
|
|
619
|
-
|
|
620
|
-
|
|
722
|
+
fallbackKey?: string | null;
|
|
723
|
+
isHighRisk?: boolean;
|
|
724
|
+
/** Present only on operation leaves — the explicit grant to persist/preview. */
|
|
725
|
+
grant?: DelegationGrant;
|
|
726
|
+
children?: DelegationScopeTreeNode[];
|
|
621
727
|
}
|
|
622
728
|
|
|
729
|
+
type NodeCheckState = 'checked' | 'indeterminate' | 'unchecked';
|
|
623
730
|
/**
|
|
624
731
|
* Hierarchy-based scope picker (doc 03). Driven entirely by `scope/options`:
|
|
625
|
-
* - renders backend-owned
|
|
626
|
-
*
|
|
732
|
+
* - renders the backend-owned Template -> Level -> Module -> operation tree as a
|
|
733
|
+
* clean, accessible checkbox tree (parents propagate to descendant operations),
|
|
734
|
+
* - offers optional app-accessibility grants,
|
|
627
735
|
* - calls `scope/preview` (debounced) and surfaces summary / warnings / denied.
|
|
628
736
|
*
|
|
629
|
-
* `[(scope)]` two-way binds a `DelegationScopeSelection`.
|
|
630
|
-
*
|
|
631
|
-
* options.
|
|
737
|
+
* `[(scope)]` two-way binds a `DelegationScopeSelection`. Scope grants are the
|
|
738
|
+
* single source of truth for selection; the component never invents permission
|
|
739
|
+
* metadata — it only echoes targets/actions/accessibilities returned by options.
|
|
632
740
|
*/
|
|
633
741
|
declare class ScopePicker {
|
|
634
742
|
readonly scope: _angular_core.ModelSignal<DelegationScopeSelection>;
|
|
@@ -647,25 +755,42 @@ declare class ScopePicker {
|
|
|
647
755
|
protected readonly isLoadingOptions: _angular_core.Signal<boolean>;
|
|
648
756
|
protected readonly isPreviewing: _angular_core.Signal<boolean>;
|
|
649
757
|
protected readonly errorOptions: _angular_core.Signal<string | null>;
|
|
650
|
-
protected readonly groups: _angular_core.Signal<DelegationGrantableHierarchyGroup[]>;
|
|
651
758
|
protected readonly activeLang: _angular_core.Signal<string>;
|
|
652
|
-
|
|
653
|
-
protected readonly
|
|
654
|
-
protected readonly treeSelection: _angular_core.WritableSignal<TreeNode<any>[] | null>;
|
|
655
|
-
protected readonly treeNodes: _angular_core.Signal<TreeNode<any>[]>;
|
|
759
|
+
protected readonly treeModel: _angular_core.Signal<DelegationScopeTreeNode[]>;
|
|
760
|
+
protected readonly hasOptions: _angular_core.Signal<boolean>;
|
|
656
761
|
protected readonly grantIndex: _angular_core.Signal<Map<string, DelegationGrant>>;
|
|
762
|
+
/** nodeKey -> all descendant operation-leaf keys (self for operation nodes). */
|
|
763
|
+
protected readonly opKeyMap: _angular_core.Signal<Map<string, string[]>>;
|
|
764
|
+
/** Stable operation-node keys for the current scope grants. */
|
|
765
|
+
protected readonly selectedKeys: _angular_core.Signal<Set<string>>;
|
|
766
|
+
protected readonly selectedCount: _angular_core.Signal<number>;
|
|
767
|
+
protected readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
768
|
+
protected readonly expandedKeys: _angular_core.WritableSignal<Set<string>>;
|
|
769
|
+
protected readonly filteredTree: _angular_core.Signal<DelegationScopeTreeNode[]>;
|
|
770
|
+
protected readonly appAccessibilities: _angular_core.Signal<DelegationAppAccessibility[]>;
|
|
771
|
+
protected readonly selectedAccessibilityKeys: _angular_core.WritableSignal<Set<string>>;
|
|
772
|
+
protected readonly selectedAccessibilityCount: _angular_core.Signal<number>;
|
|
773
|
+
protected readonly hasAccessibility: _angular_core.Signal<boolean>;
|
|
774
|
+
/** Inner view switch: permission tree vs app-accessibility grants. */
|
|
775
|
+
protected readonly activeScopeTab: _angular_core.WritableSignal<"permissions" | "accessibility">;
|
|
657
776
|
constructor();
|
|
658
|
-
protected
|
|
777
|
+
protected isExpanded(node: DelegationScopeTreeNode): boolean;
|
|
778
|
+
protected toggleExpand(node: DelegationScopeTreeNode): void;
|
|
779
|
+
protected hasChildren(node: DelegationScopeTreeNode): boolean;
|
|
780
|
+
protected nodeState(node: DelegationScopeTreeNode): NodeCheckState;
|
|
781
|
+
protected onRowClick(node: DelegationScopeTreeNode): void;
|
|
782
|
+
protected toggle(node: DelegationScopeTreeNode): void;
|
|
783
|
+
private applySelection;
|
|
784
|
+
protected clearSelection(): void;
|
|
785
|
+
protected toggleAccessibility(key: string): void;
|
|
786
|
+
protected isAccessibilitySelected(key: string): boolean;
|
|
787
|
+
private accessibilityFacts;
|
|
788
|
+
protected nodeLabel(node: DelegationScopeTreeNode): string;
|
|
789
|
+
protected accessibilityLabel(item: DelegationAppAccessibility): string;
|
|
659
790
|
protected getPreviewSummary(summary: DelegationDisplayValue | undefined): string;
|
|
660
791
|
protected formatDeniedOperation(value?: string | null): string;
|
|
661
792
|
protected formatDeniedTarget(value?: string | null): string;
|
|
662
|
-
protected
|
|
663
|
-
protected targetGrantCount(targetGroup: DelegationGrantableTargetGroup): number;
|
|
664
|
-
private buildTreeNodes;
|
|
665
|
-
private buildTargetNode;
|
|
666
|
-
private getGroupLabel;
|
|
667
|
-
private getTargetLabel;
|
|
668
|
-
private getActionLabel;
|
|
793
|
+
protected trackNode(_index: number, node: DelegationScopeTreeNode): string;
|
|
669
794
|
private currentLanguage;
|
|
670
795
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScopePicker, never>;
|
|
671
796
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScopePicker, "mt-scope-picker", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "adminMode": { "alias": "adminMode"; "required": false; "isSignal": true; }; "delegatorUserId": { "alias": "delegatorUserId"; "required": false; "isSignal": true; }; }, { "scope": "scopeChange"; }, never, never, true, never>;
|
|
@@ -969,5 +1094,5 @@ declare class DelegationSessionFacade {
|
|
|
969
1094
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DelegationSessionFacade>;
|
|
970
1095
|
}
|
|
971
1096
|
|
|
972
|
-
export { ApproveDelegation, CancelDelegation, ClearDelegationDetail, ClearScopePreview, CreateDelegationLegacy, CreateDelegationV2, DelegationDetailDrawer, DelegationForm, DelegationSessionActionKey, DelegationSessionFacade, DelegationSessionState, DelegationStatusChip, Delegations, DelegationsActionKey, DelegationsFacade, DelegationsList, DelegationsState, EndDelegationSession, GetActiveAssignedDelegations, GetAdminDelegations, GetApprovalDelegations, GetAssignedDelegations, GetDelegationDetail, GetMyDelegations, GetScopeOptions, LoadDelegationCandidates, PreviewScope, RejectDelegation, RejectDelegationDialog, ScopePicker, StartDelegationSession, StartSessionDialog, SwitchDelegationSession, TopbarDelegationMenu, UpdateDelegationLegacy, UpdateDelegationV2, appDelegationInterceptor };
|
|
973
|
-
export type { ActiveDelegationSession, AdminCreateDelegationV2Request, AdminUpdateDelegationV2Request, ApproveDelegationRequest, CreateDelegationLegacyRequest, CreateDelegationV2Request, DelegationAllowedAction, DelegationApprovalInfo, DelegationApprovalStatus, DelegationCancellationInfo, DelegationDayRuleMode, DelegationDetail, DelegationDisplayValue, DelegationDto, DelegationEffectiveStatus, DelegationGrant, DelegationListQuery, DelegationPage, DelegationParty, DelegationRow, DelegationScopeAction, DelegationScopeCombinationRule, DelegationScopeDeniedItem, DelegationScopeFact, DelegationScopeHierarchyGroup, DelegationScopeHierarchyTarget, DelegationScopeOptions, DelegationScopePreview, DelegationScopePreviewRequest, DelegationScopeSelection, DelegationScopeTarget, DelegationScopeWarning, DelegationSessionInvalidationReason, DelegationSessionStateModel, DelegationSortDirection, DelegationStatusInfo, DelegationsStateModel, RejectDelegationRequest, UpdateDelegationLegacyRequest, UpdateDelegationV2Request };
|
|
1097
|
+
export { ApproveDelegation, CancelDelegation, ClearDelegationDetail, ClearScopePreview, CreateDelegationLegacy, CreateDelegationV2, DelegationDetailDrawer, DelegationForm, DelegationMenuPanel, DelegationSessionActionKey, DelegationSessionFacade, DelegationSessionState, DelegationStatusChip, Delegations, DelegationsActionKey, DelegationsFacade, DelegationsList, DelegationsState, EndDelegationSession, GetActiveAssignedDelegations, GetAdminDelegations, GetApprovalDelegations, GetAssignedDelegations, GetDelegationDetail, GetMyDelegations, GetScopeOptions, LoadDelegationCandidates, PreviewScope, RejectDelegation, RejectDelegationDialog, ScopePicker, StartDelegationSession, StartSessionDialog, SwitchDelegationSession, TopbarDelegationMenu, UpdateDelegationLegacy, UpdateDelegationV2, appDelegationInterceptor };
|
|
1098
|
+
export type { ActiveDelegationSession, AdminCreateDelegationV2Request, AdminUpdateDelegationV2Request, ApproveDelegationRequest, CreateDelegationLegacyRequest, CreateDelegationV2Request, DelegationAllowedAction, DelegationAppAccessibility, DelegationApprovalInfo, DelegationApprovalStatus, DelegationCancellationInfo, DelegationDayRuleMode, DelegationDetail, DelegationDisplayValue, DelegationDto, DelegationEffectiveStatus, DelegationGrant, DelegationListQuery, DelegationPage, DelegationParty, DelegationRow, DelegationScopeAction, DelegationScopeCombinationRule, DelegationScopeDeniedItem, DelegationScopeFact, DelegationScopeHierarchyGroup, DelegationScopeHierarchyTarget, DelegationScopeLevelNode, DelegationScopeModuleNode, DelegationScopeOptions, DelegationScopePermissionGroup, DelegationScopePreview, DelegationScopePreviewRequest, DelegationScopeSelection, DelegationScopeTarget, DelegationScopeWarning, DelegationSessionInvalidationReason, DelegationSessionStateModel, DelegationSortDirection, DelegationStatusInfo, DelegationsStateModel, RejectDelegationRequest, UpdateDelegationLegacyRequest, UpdateDelegationV2Request };
|