@alauda-fe/common
Version:
Alauda frontend team common codes.
65 lines • 13.5 kB
JavaScript
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";
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);
} }, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbWVzaGdyb3VwLWxpc3QvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbWVzaGdyb3VwLWxpc3QvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxHQUVYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTyw2QkFDWCxTQUFRLGdCQUFnQjtJQXlCeEIsWUFDbUIsTUFBcUIsRUFDdEMsY0FBNEMsRUFDNUMsR0FBc0IsRUFDdEIsT0FBdUI7UUFFdkIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMbkIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXBCeEMsU0FBSSxHQUFHLGNBQXVCLENBQUM7UUFJL0Isa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBRW5DLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2pDLFNBQVMsQ0FBQyxJQUFZLENBQUMsRUFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQW1CO1lBQ2xELElBQUksRUFBRSxjQUFjLENBQUMsaUJBQWlCO1NBQ3ZDLENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUF3QixDQUFDLENBQUMsRUFDOUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsVUFBVSxFQUFFLENBQ2IsQ0FBQztJQVNGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRVEsV0FBVztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF3QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hELHVCQUF1QixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUMvQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUM7WUFDcEUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCO1lBQzFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOzhGQW5FVSw2QkFBNkI7b0VBQTdCLDZCQUE2QjtZQzNCMUMsaURBU0M7WUFEQyxBQUpBLDBJQUFjLG9CQUFnQixJQUFDLCtHQUlyQixZQUFRLElBQUM7WUFDcEIsaUJBQXlCOztZQUZ4QixBQURBLEFBREEsQUFGQSxBQURBLEFBREEsd0NBQXNCLHNCQUNMLHdCQUNFLHVHQUV1QyxrQkFDN0MsOEdBQ2tEOzs7aUZEb0JwRCw2QkFBNkI7Y0FOekMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtzSkFPL0MsS0FBSztrQkFESixLQUFLOztrRkFKSyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mLCBjYXRjaEVycm9yLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSzhzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIFJFU09VUkNFX1RZUEVTLFxuICBLOHNVdGlsU2VydmljZSxcbiAgcHVibGlzaFJlZixcbiAgU2VydmljZU1lc2hHcm91cCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFJlc291cmNlTGlzdEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhSXRlbUJhc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1tZXNoLWdyb3VwLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VNZXNoR3JvdXBMaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUmVzb3VyY2VMaXN0QmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgdHlwZSA9ICdzZXJ2aWNlX21lc2gnIGFzIGNvbnN0O1xuXG4gIHNlbGVjdGVkU2VydmljZU1lc2g6IERhdGFJdGVtQmFzZTtcblxuICBzZXJ2aWNlTWVzaGVzOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIHNlcnZpY2VNZXNoZXMkID0gdGhpcy5yZWxvYWQkJC5waXBlKFxuICAgIHN0YXJ0V2l0aChudWxsIGFzIHZvaWQpLFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5rOHNBcGkuZ2V0R2xvYmFsUmVzb3VyY2VMaXN0PFNlcnZpY2VNZXNoR3JvdXA+KHtcbiAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuU0VSVklDRU1FU0hfR1JPVVAsXG4gICAgICB9KSxcbiAgICApLFxuICAgIG1hcChyZXMgPT4gcmVzLml0ZW1zKSxcbiAgICBjYXRjaEVycm9yKCgpID0+IG9mKFtdIGFzIFNlcnZpY2VNZXNoR3JvdXBbXSkpLFxuICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICAgIGNvbnRleHRTZXJ2aWNlOiBSZXNvdXJjZVNlbGVjdENvbnRleHRTZXJ2aWNlLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKGNkciwgazhzVXRpbCwgY29udGV4dFNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xuICAgIHRoaXMuc2VydmljZU1lc2hlcyQuc3Vic2NyaWJlKG1lc2hHcm91cHMgPT4ge1xuICAgICAgdGhpcy5zZXJ2aWNlTWVzaGVzID0gdGhpcy5tYXBSZXNvdXJjZShtZXNoR3JvdXBzKTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JjZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU2VydmljZU1lc2ggPSB0aGlzLnNlcnZpY2VNZXNoZXMuZmluZChcbiAgICAgIGMgPT4gYy5uYW1lID09PSB0aGlzLnZhbHVlLFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG1hcFJlc291cmNlKGxpc3Q6IFNlcnZpY2VNZXNoR3JvdXBbXSk6IERhdGFJdGVtQmFzZVtdIHtcbiAgICByZXR1cm4gbGlzdC5tYXAoaXRlbSA9PiAoe1xuICAgICAgbmFtZTogdGhpcy5rOHNVdGlsLmdldE5hbWUoaXRlbSksXG4gICAgICBzZXJ2aWNlTWVzaEdyb3VwTmFtZTogdGhpcy5rOHNVdGlsLmdldE5hbWUoaXRlbSksXG4gICAgICBzZXJ2aWNlTWVzaElzdGlvVmVyc2lvbjogaXRlbS5zcGVjLmlzdGlvVmVyc2lvbixcbiAgICAgIGRpc3BsYXlOYW1lOiB0aGlzLms4c1V0aWwuZ2V0QW5ub3RhdGlvbihpdGVtLCAnZGlzcGxheS1uYW1lJywgJ2FzbScpLFxuICAgICAgdGltZXN0YW1wOiBpdGVtLm1ldGFkYXRhLmNyZWF0aW9uVGltZXN0YW1wLFxuICAgICAgY2x1c3RlcjogaXRlbS5zcGVjLmNsdXN0ZXJzLmpvaW4oJywnKSxcbiAgICAgIF9fb3JpZ2luOiBpdGVtLFxuICAgIH0pKTtcbiAgfVxufVxuIiwiPGFjbC1yZXNvdXJjZS1kYXRhLWdyaWRcbiAgW2RhdGFdPVwic2VydmljZU1lc2hlc1wiXG4gIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gIChzZWxlY3RJdGVtKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICBbc2VsZWN0ZWRVaWRdPVwic2VsZWN0ZWRTZXJ2aWNlTWVzaD8uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gIFtsb2FkaW5nXT1cImZvcmNlTG9hZGluZyB8fCAoIXNlcnZpY2VNZXNoZXM/Lmxlbmd0aCAmJiBsb2FkaW5nKVwiXG4gIChyZWxvYWQpPVwicmVsb2FkKClcIlxuPjwvYWNsLXJlc291cmNlLWRhdGEtZ3JpZD5cbiJdfQ==