@energycap/components 0.43.4 → 0.43.5-ECAP-29174-Tree-Root-Node-Collapsible.20250515-1057
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.
@@ -44,11 +44,11 @@ export class HierarchyTreeComponent extends HierarchyBase {
|
|
44
44
|
}
|
45
45
|
}
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, deps: [{ token: i1.ScrollService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: { id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n\r\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"rootNode.hasChildren\"\r\n [expanded]=\"rootNode.expanded\"\r\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n\r\n @for(item of items; let index = $index; let first = $first; track item) {\r\n @if(rootNode.expanded) {\r\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: i5.CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] }); }
|
48
48
|
}
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, decorators: [{
|
50
50
|
type: Component,
|
51
|
-
args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container
|
51
|
+
args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n\r\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"rootNode.hasChildren\"\r\n [expanded]=\"rootNode.expanded\"\r\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n\r\n @for(item of items; let index = $index; let first = $first; track item) {\r\n @if(rootNode.expanded) {\r\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
|
52
52
|
}], ctorParameters: () => [{ type: i1.ScrollService }, { type: i0.Injector }], propDecorators: { id: [{
|
53
53
|
type: Input
|
54
54
|
}], hideRootNode: [{
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
58
58
|
}], itemSelected: [{
|
59
59
|
type: Output
|
60
60
|
}] } });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvaGllcmFyY2h5L2hpZXJhcmNoeS10cmVlL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2hpZXJhcmNoeS9oaWVyYXJjaHktdHJlZS9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBb0J2RCxZQUNVLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZWLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ0QywrRkFBK0Y7UUFDL0UsT0FBRSxHQUFXLGVBQWUsQ0FBQztRQVE3QyxpRUFBaUU7UUFDaEQsaUJBQVksR0FBMkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0RSw0R0FBNEc7UUFDckcsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVuQix1SEFBdUg7UUFDaEgsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBS1QsQ0FBQztJQUVmLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQjtRQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBakRVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHlOQ1ZuQyx3NkhBcUZjOzs0RkQzRUQsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjt5R0FPYixFQUFFO3NCQUFqQixLQUFLO2dCQUdVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUdXLFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2Nyb2xsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2Nyb2xsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaWVyYXJjaHlCYXNlLCBIaWVyYXJjaHlJdGVtIH0gZnJvbSAnLi4vaGllcmFyY2h5LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1oaWVyYXJjaHktdHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWVyYXJjaHlUcmVlQ29tcG9uZW50IGV4dGVuZHMgSGllcmFyY2h5QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGlkIGF0dHJpYnV0ZSBvZiB0aGUgdHJlZSdzIHJvb3QgSFRNTFVMaXN0RWxlbWVudCwgc3VmZml4ZWQgd2l0aCAnX3Jvb3QnICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnSGllcmFyY2h5VHJlZSc7XHJcblxyXG4gIC8qKiBIaWRlIHRoZSByb290IG5vZGUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVJvb3ROb2RlPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIEN1c3RvbSBpdGVtIHRlbXBsYXRlIHRvIHVzZSBpbiBwbGFjZSBvZiB0aGUgZGVmYXVsdCBvbmUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tSXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqIEVtaXRzIGEgSGllcmFyY2h5SXRlbSB3aGVuZXZlciBvbmUgaXMgc2VsZWN0ZWQgYnkgY2xpY2tpbmcgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGl0ZW1TZWxlY3RlZDogU3ViamVjdDxIaWVyYXJjaHlJdGVtPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIHNwYWNpbmcgYmVmb3JlIGEgdHJlZSBub2RlLCBtdWx0aXBsZWQgYnkgYSBIaWVyYXJjaHlJdGVtJ3MgbGV2ZWwuIFZhbHVlIGlzIGluIHBpeGVscyAqL1xyXG4gIHB1YmxpYyBpbmRlbnQgPSAxNjtcclxuXHJcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaWQgYXR0cmlidXRlIG9mIHRoZSB0cmVlJ3Mgc2Nyb2xsIGNvbnRhaW5lciBlbGVtZW50LCB1c2VkIHRvIHNjcm9sbCBhIHNlbGVjdGVkIGl0ZW0gaW50byB2aWV3LiAgKi9cclxuICBwdWJsaWMgc2Nyb2xsQ29udGFpbmVySWQgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNjcm9sbFNlcnZpY2U6IFNjcm9sbFNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7IHN1cGVyKGluamVjdG9yKTsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lcklkID0gYCR7dGhpcy5pZH1fcm9vdGA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTY3JvbGwgdG8gdGhlIGl0ZW0gY3VycmVudGx5IG1hcmtlZCBhcyBpcy1zZWxlY3RlZC4gV2FpdCBhIHRpY2sgZm9yIHRoZVxyXG4gICAqIE5hdkl0ZW1BY3RpdmVEaXJlY3RpdmUgdG8gdXBkYXRlIHRoZSBzZWxlY3RlZCBjbGFzcy5cclxuICAgKi9cclxuICBwdWJsaWMgc2Nyb2xsVG9TZWxlY3RlZEl0ZW0oKTogdm9pZCB7XHJcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpbmtTZWxlY3RvciA9IGAuaXRlbS13cmFwcGVyLmlzLXNlbGVjdGVkYDtcclxuICAgICAgdGhpcy5zY3JvbGxTZXJ2aWNlLnNjcm9sbFRvSXRlbShgIyR7dGhpcy5zY3JvbGxDb250YWluZXJJZH1gLCBsaW5rU2VsZWN0b3IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgSGllcmFyY2h5SXRlbSBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGUgYWN0aXZlVXJsIHByb3BlcnR5IHdpdGggdGhlIHZhbHVlXHJcbiAgICogb2YgdGhhdCBpdGVtJ3MgdXJsIHByb3BlcnR5IGFuZCBlbWl0IHRoZSBpdGVtIHRvIGFueSBzdWJzY3JpYmVycy5cclxuICAgKi9cclxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtOiBIaWVyYXJjaHlJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5uZXh0KGl0ZW0pO1xyXG4gICAgaWYgKGl0ZW0uZGlzcGxheSA9PT0gJ2hlYWRpbmcnICYmICFpdGVtLmhpZGVUb2dnbGUpIHtcclxuICAgICAgdGhpcy50b2dnbGVJdGVtQ2xpY2tlZChpdGVtLCAhaXRlbS5leHBhbmRlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBpZD1cInt7c2Nyb2xsQ29udGFpbmVySWR9fVwiXHJcbiAgICBjbGFzcz1cImZsZXgtZ3JvdyBzY3JvbGwteSBweS0xXCI+XHJcblxyXG4gIDxsaSAqbmdJZj1cIiFoaWRlUm9vdE5vZGUgJiYgcm9vdE5vZGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLXdyYXBwZXJcIlxyXG4gICAgICAgICB0aXRsZT1cInt7cm9vdE5vZGU/LnRvb2x0aXAgPz8gcm9vdE5vZGU/LmxhYmVsfX1cIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWhlYWRpbmcnOiByb290Tm9kZT8uZGlzcGxheSA9PT0gJ2hlYWRpbmcnfVwiXHJcbiAgICAgICAgIGVjTmF2SXRlbUFjdGl2ZT1cImlzLXNlbGVjdGVkXCJcclxuICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZVVybF09XCJyb290Tm9kZT8udXJsXCJcclxuICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZUV4YWN0TWF0Y2hdPSdyb290Tm9kZT8uaXNBY3RpdmVFeGFjdE1hdGNoJz5cclxuICAgICAgPGEgaWQ9XCJyb290Tm9kZV97e3Jvb3ROb2RlPy5pZH19X2xpbmtcIlxyXG4gICAgICAgICBjbGFzcz1cIml0ZW0gZmxleC1ncm93IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgICByb3V0ZXJMaW5rPVwie3tyb290Tm9kZT8udXJsfX1cIlxyXG4gICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm9vdE5vZGU/LnF1ZXJ5UGFyYW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm9vdE5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2hpZXJhcmNoeVZpZXdcclxuICAgICAgICAgICAgICAgbGV0LWl0ZW1zPlxyXG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpbmRleDsgZmlyc3QgYXMgaXNGaXJzdFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydkaXZpZGVyJzogaXRlbS5kaXNwbGF5ID09PSAnZGl2aWRlcid9XCJcclxuICAgICAgICBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXdyYXBwZXJcIlxyXG4gICAgICAgICAgIHRpdGxlPVwie3tpdGVtLnRvb2x0aXAgPz8gaXRlbS5sYWJlbH19XCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWhlYWRpbmcnOiBpdGVtLmRpc3BsYXkgPT09ICdoZWFkaW5nJ31cIlxyXG4gICAgICAgICAgIGVjTmF2SXRlbUFjdGl2ZT1cImlzLXNlbGVjdGVkXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlVXJsXT1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlRXhhY3RNYXRjaF09XCJpdGVtLmlzQWN0aXZlRXhhY3RNYXRjaFwiXHJcbiAgICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZVF1ZXJ5UGFyYW1zXT1cIml0ZW0ucXVlcnlQYXJhbXNcIj5cclxuXHJcbiAgICAgICAgPCEtLSBUaGlzIGVsZW1lbnQgcHJvdmlkZXMgdGhlIGluZGVudGF0aW9uIGZvciBlYWNoIGxldmVsIC0tPlxyXG4gICAgICAgIDxzcGFuIGlkPVwiaW5kZW50X3t7aXRlbS5pZH19XCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLm5vSW5kZW50XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2sgaC0xMDBcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIoaW5kZW50KSAqIChpdGVtLmxldmVsIC0gMSkgKyAoaXRlbS5sZXZlbCAqIDQpICsgKGl0ZW0uaGFzQ2hpbGRyZW4gPyAwIDogaW5kZW50KVwiPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBUb2dnbGUgdGhlIGJ1dHRvbiBpY29uIHRvIGJlIGEgc3Bpbm5lciB3aGVuIGl0ZW0uc3RhdHVzIGlzIHBlbmRpbmcgLS0+XHJcbiAgICAgICAgPGVjLWNvbGxhcHNpYmxlLXRvZ2dsZSBpZD1cInRvZ2dsZV97e2l0ZW0uaWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtc2hyaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJpbmRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuICYmICFpdGVtLmhpZGVUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLnN0YXR1cyA9PT0gJ3BlbmRpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRlZENoYW5nZSk9XCJ0b2dnbGVJdGVtQ2xpY2tlZChpdGVtLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9lYy1jb2xsYXBzaWJsZS10b2dnbGU+XHJcblxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLWxvYWRpbmcgbXktMVwiXHJcbiAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLnN0YXR1cyAhPT0gJ3BlbmRpbmcnXCI+PC9pPlxyXG5cclxuICAgICAgICA8YSBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19X2xpbmtcIlxyXG4gICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXHJcbiAgICAgICAgICAgKm5nSWY9XCJpdGVtLnVybFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nIHx8ICcnXCI+XHJcbiAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJ0cmVlSXRlbV97e2l0ZW0uaWR9fV9oZWFkaW5nXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLnVybFwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiPlxyXG4gICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDx1bCAqbmdJZj1cIml0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBpdGVtLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpZXJhcmNoeVZpZXc7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW0uY2hpbGRyZW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9saT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGllcmFyY2h5VmlldzsgY29udGV4dDp7ICRpbXBsaWNpdDogcm9vdE5vZGU/LmNoaWxkcmVuIH1cIj48L25nLWNvbnRhaW5lcj5cclxuPC91bD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZVxyXG4gICAgICAgICAgICAgbGV0LWl0ZW0+XHJcbiAgPGkgY2xhc3M9XCJlYy1pY29uIHt7aXRlbS5pY29ufX0gbXgtMSBmbGV4LXNocmlua1wiXHJcbiAgICAgW2F0dHIudGl0bGVdPVwiaXRlbS5pY29uVG9vbHRpcFwiXHJcbiAgICAgKm5nSWY9XCJpdGVtLmljb25cIj48L2k+XHJcbiAgPHNwYW4gY2xhc3M9XCJteC0xIHRleHQtdHJ1bmNhdGVcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvaGllcmFyY2h5L2hpZXJhcmNoeS10cmVlL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2hpZXJhcmNoeS9oaWVyYXJjaHktdHJlZS9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBb0J2RCxZQUNVLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZWLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ0QywrRkFBK0Y7UUFDL0UsT0FBRSxHQUFXLGVBQWUsQ0FBQztRQVE3QyxpRUFBaUU7UUFDaEQsaUJBQVksR0FBMkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0RSw0R0FBNEc7UUFDckcsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVuQix1SEFBdUg7UUFDaEgsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBS1QsQ0FBQztJQUVmLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQjtRQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBakRVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHlOQ1ZuQyx3K0lBc0djOzs0RkQ1RkQsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjt5R0FPYixFQUFFO3NCQUFqQixLQUFLO2dCQUdVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUdXLFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2Nyb2xsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2Nyb2xsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaWVyYXJjaHlCYXNlLCBIaWVyYXJjaHlJdGVtIH0gZnJvbSAnLi4vaGllcmFyY2h5LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1oaWVyYXJjaHktdHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWVyYXJjaHlUcmVlQ29tcG9uZW50IGV4dGVuZHMgSGllcmFyY2h5QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGlkIGF0dHJpYnV0ZSBvZiB0aGUgdHJlZSdzIHJvb3QgSFRNTFVMaXN0RWxlbWVudCwgc3VmZml4ZWQgd2l0aCAnX3Jvb3QnICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnSGllcmFyY2h5VHJlZSc7XHJcblxyXG4gIC8qKiBIaWRlIHRoZSByb290IG5vZGUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVJvb3ROb2RlPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIEN1c3RvbSBpdGVtIHRlbXBsYXRlIHRvIHVzZSBpbiBwbGFjZSBvZiB0aGUgZGVmYXVsdCBvbmUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tSXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqIEVtaXRzIGEgSGllcmFyY2h5SXRlbSB3aGVuZXZlciBvbmUgaXMgc2VsZWN0ZWQgYnkgY2xpY2tpbmcgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGl0ZW1TZWxlY3RlZDogU3ViamVjdDxIaWVyYXJjaHlJdGVtPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIHNwYWNpbmcgYmVmb3JlIGEgdHJlZSBub2RlLCBtdWx0aXBsZWQgYnkgYSBIaWVyYXJjaHlJdGVtJ3MgbGV2ZWwuIFZhbHVlIGlzIGluIHBpeGVscyAqL1xyXG4gIHB1YmxpYyBpbmRlbnQgPSAxNjtcclxuXHJcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaWQgYXR0cmlidXRlIG9mIHRoZSB0cmVlJ3Mgc2Nyb2xsIGNvbnRhaW5lciBlbGVtZW50LCB1c2VkIHRvIHNjcm9sbCBhIHNlbGVjdGVkIGl0ZW0gaW50byB2aWV3LiAgKi9cclxuICBwdWJsaWMgc2Nyb2xsQ29udGFpbmVySWQgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNjcm9sbFNlcnZpY2U6IFNjcm9sbFNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7IHN1cGVyKGluamVjdG9yKTsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lcklkID0gYCR7dGhpcy5pZH1fcm9vdGA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTY3JvbGwgdG8gdGhlIGl0ZW0gY3VycmVudGx5IG1hcmtlZCBhcyBpcy1zZWxlY3RlZC4gV2FpdCBhIHRpY2sgZm9yIHRoZVxyXG4gICAqIE5hdkl0ZW1BY3RpdmVEaXJlY3RpdmUgdG8gdXBkYXRlIHRoZSBzZWxlY3RlZCBjbGFzcy5cclxuICAgKi9cclxuICBwdWJsaWMgc2Nyb2xsVG9TZWxlY3RlZEl0ZW0oKTogdm9pZCB7XHJcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpbmtTZWxlY3RvciA9IGAuaXRlbS13cmFwcGVyLmlzLXNlbGVjdGVkYDtcclxuICAgICAgdGhpcy5zY3JvbGxTZXJ2aWNlLnNjcm9sbFRvSXRlbShgIyR7dGhpcy5zY3JvbGxDb250YWluZXJJZH1gLCBsaW5rU2VsZWN0b3IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgSGllcmFyY2h5SXRlbSBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGUgYWN0aXZlVXJsIHByb3BlcnR5IHdpdGggdGhlIHZhbHVlXHJcbiAgICogb2YgdGhhdCBpdGVtJ3MgdXJsIHByb3BlcnR5IGFuZCBlbWl0IHRoZSBpdGVtIHRvIGFueSBzdWJzY3JpYmVycy5cclxuICAgKi9cclxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtOiBIaWVyYXJjaHlJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5uZXh0KGl0ZW0pO1xyXG4gICAgaWYgKGl0ZW0uZGlzcGxheSA9PT0gJ2hlYWRpbmcnICYmICFpdGVtLmhpZGVUb2dnbGUpIHtcclxuICAgICAgdGhpcy50b2dnbGVJdGVtQ2xpY2tlZChpdGVtLCAhaXRlbS5leHBhbmRlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBpZD1cInt7c2Nyb2xsQ29udGFpbmVySWR9fVwiXHJcbiAgICBjbGFzcz1cImZsZXgtZ3JvdyBzY3JvbGwteSBweS0xXCI+XHJcblxyXG4gIDxsaSAqbmdJZj1cIiFoaWRlUm9vdE5vZGUgJiYgcm9vdE5vZGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLXdyYXBwZXJcIlxyXG4gICAgICAgICB0aXRsZT1cInt7cm9vdE5vZGU/LnRvb2x0aXAgPz8gcm9vdE5vZGU/LmxhYmVsfX1cIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWhlYWRpbmcnOiByb290Tm9kZT8uZGlzcGxheSA9PT0gJ2hlYWRpbmcnfVwiXHJcbiAgICAgICAgIGVjTmF2SXRlbUFjdGl2ZT1cImlzLXNlbGVjdGVkXCJcclxuICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZVVybF09XCJyb290Tm9kZT8udXJsXCJcclxuICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZUV4YWN0TWF0Y2hdPSdyb290Tm9kZT8uaXNBY3RpdmVFeGFjdE1hdGNoJz5cclxuXHJcbiAgICAgIDxlYy1jb2xsYXBzaWJsZS10b2dnbGUgaWQ9XCJ0b2dnbGVfe3tyb290Tm9kZS5pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtc2hyaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiaW5kZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvb3ROb2RlLmhhc0NoaWxkcmVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwicm9vdE5vZGUuZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRlZENoYW5nZSk9XCJ0b2dnbGVJdGVtQ2xpY2tlZChyb290Tm9kZSwgJGV2ZW50KVwiPlxyXG4gICAgICA8L2VjLWNvbGxhcHNpYmxlLXRvZ2dsZT5cclxuXHJcbiAgICAgIDxhIGlkPVwicm9vdE5vZGVfe3tyb290Tm9kZT8uaWR9fV9saW5rXCJcclxuICAgICAgICAgY2xhc3M9XCJpdGVtIGZsZXgtZ3JvdyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgcm91dGVyTGluaz1cInt7cm9vdE5vZGU/LnVybH19XCJcclxuICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvb3ROb2RlPy5xdWVyeVBhcmFtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb290Tm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbGk+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjaGllcmFyY2h5Vmlld1xyXG4gICAgICAgICAgICAgICBsZXQtaXRlbXM+XHJcblxyXG4gICAgQGZvcihpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdDsgdHJhY2sgaXRlbSkge1xyXG4gICAgQGlmKHJvb3ROb2RlLmV4cGFuZGVkKSB7XHJcbiAgICA8bGkgW25nQ2xhc3NdPVwieydkaXZpZGVyJzogaXRlbS5kaXNwbGF5ID09PSAnZGl2aWRlcid9XCJcclxuICAgICAgICBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXdyYXBwZXJcIlxyXG4gICAgICAgICAgIHRpdGxlPVwie3tpdGVtLnRvb2x0aXAgPz8gaXRlbS5sYWJlbH19XCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWhlYWRpbmcnOiBpdGVtLmRpc3BsYXkgPT09ICdoZWFkaW5nJ31cIlxyXG4gICAgICAgICAgIGVjTmF2SXRlbUFjdGl2ZT1cImlzLXNlbGVjdGVkXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlVXJsXT1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlRXhhY3RNYXRjaF09XCJpdGVtLmlzQWN0aXZlRXhhY3RNYXRjaFwiXHJcbiAgICAgICAgICAgW2VjTmF2SXRlbUFjdGl2ZVF1ZXJ5UGFyYW1zXT1cIml0ZW0ucXVlcnlQYXJhbXNcIj5cclxuXHJcbiAgICAgICAgPCEtLSBUaGlzIGVsZW1lbnQgcHJvdmlkZXMgdGhlIGluZGVudGF0aW9uIGZvciBlYWNoIGxldmVsIC0tPlxyXG4gICAgICAgIDxzcGFuIGlkPVwiaW5kZW50X3t7aXRlbS5pZH19XCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLm5vSW5kZW50XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2sgaC0xMDBcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIoaW5kZW50KSAqIChpdGVtLmxldmVsIC0gMSkgKyAoaXRlbS5sZXZlbCAqIDQpICsgKGl0ZW0uaGFzQ2hpbGRyZW4gPyAwIDogaW5kZW50KVwiPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBUb2dnbGUgdGhlIGJ1dHRvbiBpY29uIHRvIGJlIGEgc3Bpbm5lciB3aGVuIGl0ZW0uc3RhdHVzIGlzIHBlbmRpbmcgLS0+XHJcbiAgICAgICAgPGVjLWNvbGxhcHNpYmxlLXRvZ2dsZSBpZD1cInRvZ2dsZV97e2l0ZW0uaWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtc2hyaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJpbmRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuICYmICFpdGVtLmhpZGVUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLnN0YXR1cyA9PT0gJ3BlbmRpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRlZENoYW5nZSk9XCJ0b2dnbGVJdGVtQ2xpY2tlZChpdGVtLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9lYy1jb2xsYXBzaWJsZS10b2dnbGU+XHJcblxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLWxvYWRpbmcgbXktMVwiXHJcbiAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLnN0YXR1cyAhPT0gJ3BlbmRpbmcnXCI+PC9pPlxyXG5cclxuICAgICAgICA8YSBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19X2xpbmtcIlxyXG4gICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXHJcbiAgICAgICAgICAgKm5nSWY9XCJpdGVtLnVybFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nIHx8ICcnXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGRpdiBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19X2hlYWRpbmdcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udXJsXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPHVsICpuZ0lmPVwiaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwICYmIGl0ZW0uZXhwYW5kZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGllcmFyY2h5VmlldzsgY29udGV4dDp7ICRpbXBsaWNpdDogaXRlbS5jaGlsZHJlbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG4gICAgfVxyXG4gICAgfVxyXG5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGllcmFyY2h5VmlldzsgY29udGV4dDp7ICRpbXBsaWNpdDogcm9vdE5vZGU/LmNoaWxkcmVuIH1cIj48L25nLWNvbnRhaW5lcj5cclxuPC91bD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZVxyXG4gICAgICAgICAgICAgbGV0LWl0ZW0+XHJcbiAgPGkgY2xhc3M9XCJlYy1pY29uIHt7aXRlbS5pY29ufX0gbXgtMSBmbGV4LXNocmlua1wiXHJcbiAgICAgW2F0dHIudGl0bGVdPVwiaXRlbS5pY29uVG9vbHRpcFwiXHJcbiAgICAgKm5nSWY9XCJpdGVtLmljb25cIj48L2k+XHJcbiAgPHNwYW4gY2xhc3M9XCJteC0xIHRleHQtdHJ1bmNhdGVcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
@@ -9821,11 +9821,11 @@ class HierarchyTreeComponent extends HierarchyBase {
|
|
9821
9821
|
}
|
9822
9822
|
}
|
9823
9823
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, deps: [{ token: ScrollService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
9824
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
9824
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: { id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n\r\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"rootNode.hasChildren\"\r\n [expanded]=\"rootNode.expanded\"\r\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n\r\n @for(item of items; let index = $index; let first = $first; track item) {\r\n @if(rootNode.expanded) {\r\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] }); }
|
9825
9825
|
}
|
9826
9826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, decorators: [{
|
9827
9827
|
type: Component,
|
9828
|
-
args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container
|
9828
|
+
args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n\r\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"rootNode.hasChildren\"\r\n [expanded]=\"rootNode.expanded\"\r\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n\r\n @for(item of items; let index = $index; let first = $first; track item) {\r\n @if(rootNode.expanded) {\r\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
|
9829
9829
|
}], ctorParameters: () => [{ type: ScrollService }, { type: i0.Injector }], propDecorators: { id: [{
|
9830
9830
|
type: Input
|
9831
9831
|
}], hideRootNode: [{
|