UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

66 lines 13.6 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core'; import { of, catchError, map, startWith, switchMap, takeUntil } from 'rxjs'; import { K8sApiService } from '../../../../api/public-api'; import { RESOURCE_TYPES, K8sUtilService, publishRef, } from '../../../../core/public-api'; import { ResourceListBase } from '../../base-list'; import { ResourceSelectContextService } from '../../context.service'; import * as i0 from "@angular/core"; import * as i1 from "../../../../api/public-api"; import * as i2 from "../../context.service"; import * as i3 from "../../../../core/public-api"; import * as i4 from "../data-grid/component"; export class ServiceMeshGroupListComponent extends ResourceListBase { constructor(k8sApi, contextService, cdr, k8sUtil) { super(cdr, k8sUtil, contextService); this.k8sApi = k8sApi; this.type = 'service_mesh'; this.serviceMeshes = []; this.serviceMeshes$ = this.reload$$.pipe(startWith(null), switchMap(() => this.k8sApi.getGlobalResourceList({ type: RESOURCE_TYPES.SERVICEMESH_GROUP, })), map(res => res.items), catchError(() => of([])), takeUntil(this.destroy$$), publishRef()); } ngOnInit() { this.setSelected(); this.serviceMeshes$.subscribe(meshGroups => { this.serviceMeshes = this.mapResource(meshGroups); this.setSelected(); this.loading = false; this.forceLoading = false; this.cdr.markForCheck(); }); } setSelected() { this.selectedServiceMesh = this.serviceMeshes.find(c => c.name === this.value); } ngOnDestroy() { this.destroy$$.next(); this.destroy$$.complete(); } mapResource(list) { return list.map(item => ({ name: this.k8sUtil.getName(item), serviceMeshGroupName: this.k8sUtil.getName(item), serviceMeshIstioVersion: item.spec.istioVersion, displayName: this.k8sUtil.getAnnotation(item, 'display-name', 'asm'), timestamp: item.metadata.creationTimestamp, cluster: item.spec.clusters.join(','), __origin: item, })); } static { this.ɵfac = function ServiceMeshGroupListComponent_Factory(t) { return new (t || ServiceMeshGroupListComponent)(i0.ɵɵdirectiveInject(i1.K8sApiService), i0.ɵɵdirectiveInject(i2.ResourceSelectContextService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.K8sUtilService)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMeshGroupListComponent, selectors: [["acl-mesh-group-list"]], inputs: { value: "value" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 6, consts: [[3, "selectItem", "reload", "data", "fields", "context", "selectedUid", "type", "loading"]], template: function ServiceMeshGroupListComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "acl-resource-data-grid", 0); i0.ɵɵlistener("selectItem", function ServiceMeshGroupListComponent_Template_acl_resource_data_grid_selectItem_0_listener($event) { return ctx.onSelect($event); })("reload", function ServiceMeshGroupListComponent_Template_acl_resource_data_grid_reload_0_listener() { return ctx.reload(); }); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵproperty("data", ctx.serviceMeshes)("fields", ctx.fields)("context", ctx.context)("selectedUid", ctx.selectedServiceMesh == null ? null : ctx.selectedServiceMesh.__origin.metadata.uid)("type", ctx.type)("loading", ctx.forceLoading || !(ctx.serviceMeshes == null ? null : ctx.serviceMeshes.length) && ctx.loading); } }, dependencies: [i4.ResourceDataGridComponent], styles: ["[_nghost-%COMP%]{height:100%;display:flex;flex-direction:column;padding-top:20px}.filter[_ngcontent-%COMP%]{display:flex;border-bottom:1px solid rgb(var(--aui-color-n-8));padding-bottom:8px}.filter[_ngcontent-%COMP%] aui-form-item[_ngcontent-%COMP%] .aui-form-item{margin-bottom:0}.filter__project[_ngcontent-%COMP%]{margin-right:50px;padding-bottom:8px}.filter__project[_ngcontent-%COMP%] aui-select[_ngcontent-%COMP%]{width:240px}.filter__cluster[_ngcontent-%COMP%]{flex:1}.cluster-tags[_ngcontent-%COMP%] aui-check-tag[_ngcontent-%COMP%]{margin-bottom:8px;display:inline-flex}.cluster-tags[_ngcontent-%COMP%] aui-check-tag[_ngcontent-%COMP%] .aui-tag{border:none}.cluster-tags[_ngcontent-%COMP%] aui-check-tag[_ngcontent-%COMP%] .aui-tag--info{background-color:rgb(var(--aui-color-n-8))}"], changeDetection: 0 }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMeshGroupListComponent, [{ type: Component, args: [{ selector: 'acl-mesh-group-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<acl-resource-data-grid\n [data]=\"serviceMeshes\"\n [fields]=\"fields\"\n [context]=\"context\"\n (selectItem)=\"onSelect($event)\"\n [selectedUid]=\"selectedServiceMesh?.__origin.metadata.uid\"\n [type]=\"type\"\n [loading]=\"forceLoading || (!serviceMeshes?.length && loading)\"\n (reload)=\"reload()\"\n></acl-resource-data-grid>\n", styles: [":host{height:100%;display:flex;flex-direction:column;padding-top:20px}.filter{display:flex;border-bottom:1px solid rgb(var(--aui-color-n-8));padding-bottom:8px}.filter aui-form-item ::ng-deep .aui-form-item{margin-bottom:0}.filter__project{margin-right:50px;padding-bottom:8px}.filter__project aui-select{width:240px}.filter__cluster{flex:1}.cluster-tags aui-check-tag{margin-bottom:8px;display:inline-flex}.cluster-tags aui-check-tag::ng-deep .aui-tag{border:none}.cluster-tags aui-check-tag::ng-deep .aui-tag--info{background-color:rgb(var(--aui-color-n-8))}\n"] }] }], () => [{ type: i1.K8sApiService }, { type: i2.ResourceSelectContextService }, { type: i0.ChangeDetectorRef }, { type: i3.K8sUtilService }], { value: [{ type: Input }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMeshGroupListComponent, { className: "ServiceMeshGroupListComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbWVzaGdyb3VwLWxpc3QvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbWVzaGdyb3VwLWxpc3QvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxHQUVYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVNyRSxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxnQkFBZ0I7SUF5QnhCLFlBQ21CLE1BQXFCLEVBQ3RDLGNBQTRDLEVBQzVDLEdBQXNCLEVBQ3RCLE9BQXVCO1FBRXZCLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBTG5CLFdBQU0sR0FBTixNQUFNLENBQWU7UUFwQnhDLFNBQUksR0FBRyxjQUF1QixDQUFDO1FBSS9CLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUVuQyxtQkFBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNqQyxTQUFTLENBQUMsSUFBWSxDQUFDLEVBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFtQjtZQUNsRCxJQUFJLEVBQUUsY0FBYyxDQUFDLGlCQUFpQjtTQUN2QyxDQUFDLENBQ0gsRUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBd0IsQ0FBQyxDQUFDLEVBQzlDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLFVBQVUsRUFBRSxDQUNiLENBQUM7SUFTRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBd0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoRCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDO1lBQ3BFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNyQyxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs4RkFuRVUsNkJBQTZCO29FQUE3Qiw2QkFBNkI7WUMzQjFDLGlEQVNDO1lBREMsQUFKQSwwSUFBYyxvQkFBZ0IsSUFBQywrR0FJckIsWUFBUSxJQUFDO1lBQ3BCLGlCQUF5Qjs7WUFGeEIsQUFEQSxBQURBLEFBRkEsQUFEQSxBQURBLHdDQUFzQixzQkFDTCx3QkFDRSx1R0FFdUMsa0JBQzdDLDhHQUNrRDs7O2lGRG9CcEQsNkJBQTZCO2NBTnpDLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07c0pBTy9DLEtBQUs7a0JBREosS0FBSzs7a0ZBSkssNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiwgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBSRVNPVVJDRV9UWVBFUyxcbiAgSzhzVXRpbFNlcnZpY2UsXG4gIHB1Ymxpc2hSZWYsXG4gIFNlcnZpY2VNZXNoR3JvdXAsXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBSZXNvdXJjZUxpc3RCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS1saXN0JztcbmltcG9ydCB7IFJlc291cmNlU2VsZWN0Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YUl0ZW1CYXNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbWVzaC1ncm91cC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlTWVzaEdyb3VwTGlzdENvbXBvbmVudFxuICBleHRlbmRzIFJlc291cmNlTGlzdEJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICB2YWx1ZTogc3RyaW5nO1xuXG4gIHR5cGUgPSAnc2VydmljZV9tZXNoJyBhcyBjb25zdDtcblxuICBzZWxlY3RlZFNlcnZpY2VNZXNoOiBEYXRhSXRlbUJhc2U7XG5cbiAgc2VydmljZU1lc2hlczogRGF0YUl0ZW1CYXNlW10gPSBbXTtcblxuICBzZXJ2aWNlTWVzaGVzJCA9IHRoaXMucmVsb2FkJCQucGlwZShcbiAgICBzdGFydFdpdGgobnVsbCBhcyB2b2lkKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlTGlzdDxTZXJ2aWNlTWVzaEdyb3VwPih7XG4gICAgICAgIHR5cGU6IFJFU09VUkNFX1RZUEVTLlNFUlZJQ0VNRVNIX0dST1VQLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBtYXAocmVzID0+IHJlcy5pdGVtcyksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSBhcyBTZXJ2aWNlTWVzaEdyb3VwW10pKSxcbiAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgICBjb250ZXh0U2VydmljZTogUmVzb3VyY2VTZWxlY3RDb250ZXh0U2VydmljZSxcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihjZHIsIGs4c1V0aWwsIGNvbnRleHRTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0U2VsZWN0ZWQoKTtcbiAgICB0aGlzLnNlcnZpY2VNZXNoZXMkLnN1YnNjcmliZShtZXNoR3JvdXBzID0+IHtcbiAgICAgIHRoaXMuc2VydmljZU1lc2hlcyA9IHRoaXMubWFwUmVzb3VyY2UobWVzaEdyb3Vwcyk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9yY2VMb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFNlcnZpY2VNZXNoID0gdGhpcy5zZXJ2aWNlTWVzaGVzLmZpbmQoXG4gICAgICBjID0+IGMubmFtZSA9PT0gdGhpcy52YWx1ZSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBtYXBSZXNvdXJjZShsaXN0OiBTZXJ2aWNlTWVzaEdyb3VwW10pOiBEYXRhSXRlbUJhc2VbXSB7XG4gICAgcmV0dXJuIGxpc3QubWFwKGl0ZW0gPT4gKHtcbiAgICAgIG5hbWU6IHRoaXMuazhzVXRpbC5nZXROYW1lKGl0ZW0pLFxuICAgICAgc2VydmljZU1lc2hHcm91cE5hbWU6IHRoaXMuazhzVXRpbC5nZXROYW1lKGl0ZW0pLFxuICAgICAgc2VydmljZU1lc2hJc3Rpb1ZlcnNpb246IGl0ZW0uc3BlYy5pc3Rpb1ZlcnNpb24sXG4gICAgICBkaXNwbGF5TmFtZTogdGhpcy5rOHNVdGlsLmdldEFubm90YXRpb24oaXRlbSwgJ2Rpc3BsYXktbmFtZScsICdhc20nKSxcbiAgICAgIHRpbWVzdGFtcDogaXRlbS5tZXRhZGF0YS5jcmVhdGlvblRpbWVzdGFtcCxcbiAgICAgIGNsdXN0ZXI6IGl0ZW0uc3BlYy5jbHVzdGVycy5qb2luKCcsJyksXG4gICAgICBfX29yaWdpbjogaXRlbSxcbiAgICB9KSk7XG4gIH1cbn1cbiIsIjxhY2wtcmVzb3VyY2UtZGF0YS1ncmlkXG4gIFtkYXRhXT1cInNlcnZpY2VNZXNoZXNcIlxuICBbZmllbGRzXT1cImZpZWxkc1wiXG4gIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAoc2VsZWN0SXRlbSk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgW3NlbGVjdGVkVWlkXT1cInNlbGVjdGVkU2VydmljZU1lc2g/Ll9fb3JpZ2luLm1ldGFkYXRhLnVpZFwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbbG9hZGluZ109XCJmb3JjZUxvYWRpbmcgfHwgKCFzZXJ2aWNlTWVzaGVzPy5sZW5ndGggJiYgbG9hZGluZylcIlxuICAocmVsb2FkKT1cInJlbG9hZCgpXCJcbj48L2FjbC1yZXNvdXJjZS1kYXRhLWdyaWQ+XG4iXX0=