UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

188 lines 33.6 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; import { AuthorizationStateService } from '../../../../authorization/public-api'; import { K8sUtilService } from '../../../../core/services/public-api'; import { ResourceSelectorPopupService } from '../../internals/selector-popup/service'; import { getWorkspaceParams, setWorkspaceParams } from '../../utils'; import { ConfigurableField, } from './../../types'; import * as i0 from "@angular/core"; import * as i1 from "../../internals/selector-popup/service"; import * as i2 from "../../../../core/services/public-api"; import * as i3 from "../../../../authorization/public-api"; const _c0 = ["popup"]; const _c1 = a0 => ({ "acl-resource-selector--active": a0 }); function NamespaceSelectorComponent_div_9_ng_container_8_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵtext(1); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const istioVersion_r2 = ctx.ngIf; i0.ɵɵadvance(); i0.ɵɵtextInterpolate1("(Istio ", istioVersion_r2, ")"); } } function NamespaceSelectorComponent_div_9_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 8)(1, "span", 9); i0.ɵɵelement(2, "aui-icon", 13); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "span", 5); i0.ɵɵtext(4); i0.ɵɵpipe(5, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(6, "span", 6); i0.ɵɵtext(7); i0.ɵɵtemplate(8, NamespaceSelectorComponent_div_9_ng_container_8_Template, 2, 1, "ng-container", 14); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵadvance(4); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 3, "service_mesh"), " "); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate1("", ctx_r2.value.servicemesh, " "); i0.ɵɵadvance(); i0.ɵɵproperty("ngIf", ctx_r2.value.istioVersion); } } function NamespaceSelectorComponent_ng_template_24_Template(rf, ctx) { if (rf & 1) { const _r4 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "acl-namespace-list", 15); i0.ɵɵlistener("selectItem", function NamespaceSelectorComponent_ng_template_24_Template_acl_namespace_list_selectItem_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSelect($event)); })("clusterChange", function NamespaceSelectorComponent_ng_template_24_Template_acl_namespace_list_clusterChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clusterChange.emit($event)); })("projectChange", function NamespaceSelectorComponent_ng_template_24_Template_acl_namespace_list_projectChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.projectChange.emit($event)); }); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵproperty("context", "popup")("fields", ctx_r2.fields || ctx_r2.displayFields)("disableFn", ctx_r2.disableFn)("value", ctx_r2.value)("displayServiceMesh", ctx_r2.displayServiceMesh); } } export class NamespaceSelectorComponent { constructor(popupService, cdr, elementRef, k8sUtil, auth) { this.popupService = popupService; this.cdr = cdr; this.elementRef = elementRef; this.k8sUtil = k8sUtil; this.auth = auth; this.displayServiceMesh = false; this.clusterChange = new EventEmitter(); this.projectChange = new EventEmitter(); this.valueChange = new EventEmitter(); this.displayFields = [ ConfigurableField.Cluster, ConfigurableField.Time, ]; this.isActive = false; this.loading = true; } ngAfterViewInit() { const email = this.auth.payloadSnapshot?.email; const params = getWorkspaceParams(email); if (this.value && !params) { setWorkspaceParams(this.value, email); } } openPopup() { if (this.isActive) { this.closePopup(); } else { this.isActive = true; this.popupRef = this.popupService.open({ origin: this.elementRef, content: this.popupTemplate, }); this.popupRef.afterClosed().subscribe(() => { this.isActive = false; this.cdr.markForCheck(); }); } } closePopup() { this.isActive = false; this.popupRef.close(); } onSelect(item) { this.value = { project: this.k8sUtil.getLabel(item.__origin, 'project'), cluster: item.cluster, name: item.name, servicemesh: item.serviceMeshName, istioVersion: item.serviceMeshIstioVersion, }; this.valueChange.emit(this.value); this.closePopup(); } static { this.ɵfac = function NamespaceSelectorComponent_Factory(t) { return new (t || NamespaceSelectorComponent)(i0.ɵɵdirectiveInject(i1.ResourceSelectorPopupService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.K8sUtilService), i0.ɵɵdirectiveInject(i3.AuthorizationStateService)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NamespaceSelectorComponent, selectors: [["acl-namespace-selector"]], viewQuery: function NamespaceSelectorComponent_Query(rf, ctx) { if (rf & 1) { i0.ɵɵviewQuery(_c0, 7); } if (rf & 2) { let _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupTemplate = _t.first); } }, inputs: { disableFn: "disableFn", value: "value", fields: "fields", displayServiceMesh: "displayServiceMesh" }, outputs: { clusterChange: "clusterChange", projectChange: "projectChange", valueChange: "valueChange" }, decls: 26, vars: 16, consts: [["popup", ""], [1, "acl-resource-selector", 3, "click", "ngClass"], [1, "acl-resource-selector__item", "project"], [1, "icon-wrapper", "tw-flex"], ["icon", "bicolor:project"], [1, "with-colon"], [1, "selected-name", "text-truncate"], ["class", "acl-resource-selector__item namespace", 4, "ngIf"], [1, "acl-resource-selector__item", "namespace"], [1, "icon-wrapper"], ["icon", "bicolor:namespace"], [1, "acl-resource-selector__arrow"], ["icon", "caret_down_s"], ["icon", "bicolor:service_mesh"], [4, "ngIf"], [3, "selectItem", "clusterChange", "projectChange", "context", "fields", "disableFn", "value", "displayServiceMesh"]], template: function NamespaceSelectorComponent_Template(rf, ctx) { if (rf & 1) { const _r1 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 1); i0.ɵɵlistener("click", function NamespaceSelectorComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openPopup()); }); i0.ɵɵelementStart(1, "div", 2)(2, "span", 3); i0.ɵɵelement(3, "aui-icon", 4); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "span", 5); i0.ɵɵtext(5); i0.ɵɵpipe(6, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(7, "span", 6); i0.ɵɵtext(8); i0.ɵɵelementEnd()(); i0.ɵɵtemplate(9, NamespaceSelectorComponent_div_9_Template, 9, 5, "div", 7); i0.ɵɵelementStart(10, "div", 8)(11, "span", 9); i0.ɵɵelement(12, "aui-icon", 10); i0.ɵɵelementEnd(); i0.ɵɵelementStart(13, "span", 5); i0.ɵɵtext(14); i0.ɵɵpipe(15, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(16, "span", 6); i0.ɵɵtext(17); i0.ɵɵelementStart(18, "span", 5); i0.ɵɵtext(19); i0.ɵɵpipe(20, "translate"); i0.ɵɵelementEnd(); i0.ɵɵtext(21); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(22, "div", 11); i0.ɵɵelement(23, "aui-icon", 12); i0.ɵɵelementEnd()(); i0.ɵɵtemplate(24, NamespaceSelectorComponent_ng_template_24_Template, 1, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor); } if (rf & 2) { i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c1, ctx.isActive)); i0.ɵɵadvance(5); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 8, "project"), " "); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate(ctx.value.project); i0.ɵɵadvance(); i0.ɵɵproperty("ngIf", ctx.displayServiceMesh); i0.ɵɵadvance(5); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 10, "namespace"), " "); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate1("", ctx.value.name, " ("); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 12, "cluster"), " "); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1("", ctx.value.cluster, ") "); } }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px;color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:26px}[_nghost-%COMP%] .acl-resource-selector--lite:hover, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite:hover aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (width <= 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (width <= 1280px){[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-4px}}"], changeDetection: 0 }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceSelectorComponent, [{ type: Component, args: [{ selector: 'acl-namespace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{ 'acl-resource-selector--active': isActive }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span class=\"icon-wrapper tw-flex\">\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value.project }}</span>\n </div>\n <div\n *ngIf=\"displayServiceMesh\"\n class=\"acl-resource-selector__item namespace\"\n >\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:service_mesh\"></aui-icon>\n </span>\n <span class=\"with-colon\"> {{ 'service_mesh' | translate }} </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.servicemesh }}\n <ng-container *ngIf=\"value.istioVersion as istioVersion\"\n >(Istio {{ istioVersion }})</ng-container\n >\n </span>\n </div>\n <div class=\"acl-resource-selector__item namespace\">\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:namespace\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'namespace' | translate }}\n </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.name }} (<span class=\"with-colon\">\n {{ 'cluster' | translate }} </span\n >{{ value.cluster }})\n </span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-namespace-list\n [context]=\"'popup'\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [disableFn]=\"disableFn\"\n [value]=\"value\"\n [displayServiceMesh]=\"displayServiceMesh\"\n (clusterChange)=\"clusterChange.emit($event)\"\n (projectChange)=\"projectChange.emit($event)\"\n ></acl-namespace-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px;color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:26px}:host::ng-deep .acl-resource-selector--lite:hover,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite:hover aui-icon,:host::ng-deep .acl-resource-selector--lite:hover .with-colon,:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .with-colon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (width <= 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (width <= 1280px){:host::ng-deep .acl-resource-selector__arrow{margin-left:-4px}}\n"] }] }], () => [{ type: i1.ResourceSelectorPopupService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.K8sUtilService }, { type: i3.AuthorizationStateService }], { popupTemplate: [{ type: ViewChild, args: ['popup', { static: true }] }], disableFn: [{ type: Input }], value: [{ type: Input }], fields: [{ type: Input }], displayServiceMesh: [{ type: Input }], clusterChange: [{ type: Output }], projectChange: [{ type: Output }], valueChange: [{ type: Output }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NamespaceSelectorComponent, { className: "NamespaceSelectorComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL25hbWVzcGFjZS1zZWxlY3Rvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYnVzaW5lc3MvcmVzb3VyY2Utc2VsZWN0L2V4cG9ydHMvbmFtZXNwYWNlLXNlbGVjdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckUsT0FBTyxFQUNMLGlCQUFpQixHQUlsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNBakIsNkJBQ0c7SUFBQSxZQUEwQjs7OztJQUExQixjQUEwQjtJQUExQixzREFBMEI7OztJQVAvQixBQUpGLDhCQUdDLGNBQzRCO0lBQ3pCLCtCQUFpRDtJQUNuRCxpQkFBTztJQUNQLCtCQUF5QjtJQUFDLFlBQWlDOztJQUFBLGlCQUFPO0lBQ2xFLCtCQUNHO0lBQUEsWUFDRDtJQUFBLG9HQUNHO0lBR1AsQUFERSxpQkFBTyxFQUNIOzs7SUFQc0IsZUFBaUM7SUFBakMscUVBQWlDO0lBRXhELGVBQ0Q7SUFEQyx3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SVAsYUFBYTtrQkFEWixNQUFNO1lBSVAsV0FBVztrQkFEVixNQUFNOztrRkF0QkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3JlZic7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0V29ya3NwYWNlUGFyYW1zLCBzZXRXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZpZWxkLFxuICBEYXRhSXRlbUJhc2UsXG4gIERpc2FibGVGbixcbiAgU2VsZWN0ZWROYW1lc3BhY2VWYWx1ZSxcbn0gZnJvbSAnLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1uYW1lc3BhY2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLy4uL2NsdXN0ZXItc2VsZWN0b3Ivc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncG9wdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3B1cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVGbjogRGlzYWJsZUZuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXTtcblxuICBASW5wdXQoKVxuICBkaXNwbGF5U2VydmljZU1lc2ggPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgY2x1c3RlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwcm9qZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZE5hbWVzcGFjZVZhbHVlPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuQ2x1c3RlcixcbiAgICBDb25maWd1cmFibGVGaWVsZC5UaW1lLFxuICBdO1xuXG4gIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgcG9wdXBSZWY6IFJlc291cmNlU2VsZWN0b3JQb3B1cFJlZjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZTogUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoOiBBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5hdXRoLnBheWxvYWRTbmFwc2hvdD8uZW1haWw7XG4gICAgY29uc3QgcGFyYW1zID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKTtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiAhcGFyYW1zKSB7XG4gICAgICBzZXRXb3Jrc3BhY2VQYXJhbXModGhpcy52YWx1ZSwgZW1haWwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Qb3B1cCgpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5wb3B1cFJlZiA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgY29udGVudDogdGhpcy5wb3B1cFRlbXBsYXRlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnBvcHVwUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlUG9wdXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucG9wdXBSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBwcm9qZWN0OiB0aGlzLms4c1V0aWwuZ2V0TGFiZWwoaXRlbS5fX29yaWdpbiwgJ3Byb2plY3QnKSxcbiAgICAgIGNsdXN0ZXI6IGl0ZW0uY2x1c3RlcixcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIHNlcnZpY2VtZXNoOiBpdGVtLnNlcnZpY2VNZXNoTmFtZSxcbiAgICAgIGlzdGlvVmVyc2lvbjogaXRlbS5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbixcbiAgICB9O1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNsb3NlUG9wdXAoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3RvclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2FjbC1yZXNvdXJjZS1zZWxlY3Rvci0tYWN0aXZlJzogaXNBY3RpdmUgfVwiXG4gIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gcHJvamVjdFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyIHR3LWZsZXhcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpwcm9qZWN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+XG4gICAgICB7eyAncHJvamVjdCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyB2YWx1ZS5wcm9qZWN0IH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlzcGxheVNlcnZpY2VNZXNoXCJcbiAgICBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9faXRlbSBuYW1lc3BhY2VcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpzZXJ2aWNlX21lc2hcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj4ge3sgJ3NlcnZpY2VfbWVzaCcgfCB0cmFuc2xhdGUgfX0gPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgID57eyB2YWx1ZS5zZXJ2aWNlbWVzaCB9fVxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlLmlzdGlvVmVyc2lvbiBhcyBpc3Rpb1ZlcnNpb25cIlxuICAgICAgICA+KElzdGlvIHt7IGlzdGlvVmVyc2lvbiB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gbmFtZXNwYWNlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpuYW1lc3BhY2VcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj5cbiAgICAgIHt7ICduYW1lc3BhY2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgID57eyB2YWx1ZS5uYW1lIH19ICg8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj5cbiAgICAgICAge3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19IDwvc3BhblxuICAgICAgPnt7IHZhbHVlLmNsdXN0ZXIgfX0pXG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9fYXJyb3dcIj5cbiAgICA8YXVpLWljb24gaWNvbj1cImNhcmV0X2Rvd25fc1wiPjwvYXVpLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXA+XG4gIDxhY2wtbmFtZXNwYWNlLWxpc3RcbiAgICBbY29udGV4dF09XCIncG9wdXAnXCJcbiAgICBbZmllbGRzXT1cImZpZWxkcyB8fCBkaXNwbGF5RmllbGRzXCJcbiAgICAoc2VsZWN0SXRlbSk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZUZuXT1cImRpc2FibGVGblwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbZGlzcGxheVNlcnZpY2VNZXNoXT1cImRpc3BsYXlTZXJ2aWNlTWVzaFwiXG4gICAgKGNsdXN0ZXJDaGFuZ2UpPVwiY2x1c3RlckNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgIChwcm9qZWN0Q2hhbmdlKT1cInByb2plY3RDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgPjwvYWNsLW5hbWVzcGFjZS1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==