UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

84 lines 10.1 kB
import { __decorate, __metadata } from "tslib"; import { ChangeDetectorRef, Directive, EventEmitter, inject, Input, Output, } from '@angular/core'; import { Observable, Subject, takeUntil } from 'rxjs'; import { AuthorizationStateService } from '../../authorization/state.service'; import { K8sUtilService } from '../../core/services/public-api'; import { ObservableInput } from '../../core/utils/public-api'; import { ResourceSelectContextService } from './context.service'; import { setWorkspaceParams } from './utils'; import * as i0 from "@angular/core"; import * as i1 from "../../core/services/public-api"; import * as i2 from "./context.service"; export class ResourceListBase { constructor(cdr, k8sUtil, contextService) { this.cdr = cdr; this.k8sUtil = k8sUtil; this.contextService = contextService; this.context = 'page'; this.fields = []; this.selectItem = new EventEmitter(); this.load = new EventEmitter(); this.reload$$ = new Subject(); this.destroy$$ = new Subject(); this.loading = true; this.forceLoading = false; this.auth = inject(AuthorizationStateService); this.contextService.reload$$ .asObservable() .pipe(takeUntil(this.destroy$$)) .subscribe(() => { this.reload(); this.cdr.markForCheck(); }); } reload() { this.forceLoading = true; this.reload$$.next(); } onSelect(selected) { let obj; switch (selected.__origin.kind) { case 'Project': { obj = { project: selected.name }; break; } case 'Namespace': { obj = { project: this.k8sUtil.getLabel(selected.__origin, 'project'), cluster: selected.cluster, namespace: selected.name, servicemesh: selected.serviceMeshName || '', }; } } this.auth.getAccountInfo().subscribe(({ email }) => { setWorkspaceParams(obj, email); }); this.selectItem.emit(selected); } ngOnDestroy() { this.destroy$$.next(); } static { this.ɵfac = function ResourceListBase_Factory(t) { return new (t || ResourceListBase)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.K8sUtilService), i0.ɵɵdirectiveInject(i2.ResourceSelectContextService)); }; } static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ResourceListBase, inputs: { context: "context", popupLite: "popupLite", fields: "fields" }, outputs: { selectItem: "selectItem", load: "load" } }); } } __decorate([ ObservableInput(), __metadata("design:type", Observable) ], ResourceListBase.prototype, "fields$", void 0); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceListBase, [{ type: Directive }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.K8sUtilService }, { type: i2.ResourceSelectContextService }], { context: [{ type: Input }], popupLite: [{ type: Input }], fields: [{ type: Input }], fields$: [], selectItem: [{ type: Output }], // eslint-disable-next-line @angular-eslint/no-output-native load: [{ type: Output }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9iYXNlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7QUFLN0MsTUFBTSxPQUFnQixnQkFBZ0I7SUErQnBDLFlBQ3FCLEdBQXNCLEVBQ3RCLE9BQXVCLEVBQ3ZCLGNBQTRDO1FBRjVDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUE4QjtRQWhDakUsWUFBTyxHQUFpQixNQUFNLENBQUM7UUFPL0IsV0FBTSxHQUF3QixFQUFFLENBQUM7UUFNakMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBSTlDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUUvQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUvQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWYsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBT3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTthQUN6QixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQXNCO1FBQzdCLElBQUksR0FBb0IsQ0FBQztRQUN6QixRQUFRLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNmLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixHQUFHLEdBQUc7b0JBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO29CQUM1RCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3pCLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSTtvQkFDeEIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxlQUFlLElBQUksRUFBRTtpQkFDNUMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDakQsa0JBQWtCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQU9ELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7aUZBL0VtQixnQkFBZ0I7b0VBQWhCLGdCQUFnQjs7QUFZcEM7SUFEQyxlQUFlLEVBQUU7OEJBQ1QsVUFBVTtpREFBc0I7aUZBWnJCLGdCQUFnQjtjQURyQyxTQUFTOzBIQUdSLE9BQU87a0JBRE4sS0FBSztZQUtOLFNBQVM7a0JBRFIsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLE9BQU8sTUFHUCxVQUFVO2tCQURULE1BQU07O0lBSVAsNERBQTREO0lBQzVELElBQUk7a0JBRkgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRob3JpemF0aW9uL3N0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSzhzVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhYmxlRmllbGQsIERhdGFJdGVtQmFzZSwgUmVzb3VyY2VEYXRhTnVtYmVycyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgc2V0V29ya3NwYWNlUGFyYW1zIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFVzYWdlQ29udGV4dCA9ICdwYWdlJyB8ICdwb3B1cCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc291cmNlTGlzdEJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBjb250ZXh0OiBVc2FnZUNvbnRleHQgPSAncGFnZSc7XG5cbiAgLy8gcG9wdXAg5b2i5oCB55qE57K+566A5qih5byPXG4gIEBJbnB1dCgpXG4gIHBvcHVwTGl0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmllbGRzJDogT2JzZXJ2YWJsZTxDb25maWd1cmFibGVGaWVsZFtdPjtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzb3VyY2VEYXRhTnVtYmVycz4oKTtcblxuICByZWxvYWQkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBmb3JjZUxvYWRpbmcgPSBmYWxzZTtcblxuICBhdXRoID0gaW5qZWN0KEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dFNlcnZpY2U6IFJlc291cmNlU2VsZWN0Q29udGV4dFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2UucmVsb2FkJCRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMuZm9yY2VMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlbG9hZCQkLm5leHQoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KHNlbGVjdGVkOiBEYXRhSXRlbUJhc2UpIHtcbiAgICBsZXQgb2JqOiBXb3Jrc3BhY2VQYXJhbXM7XG4gICAgc3dpdGNoIChzZWxlY3RlZC5fX29yaWdpbi5raW5kKSB7XG4gICAgICBjYXNlICdQcm9qZWN0Jzoge1xuICAgICAgICBvYmogPSB7IHByb2plY3Q6IHNlbGVjdGVkLm5hbWUgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdOYW1lc3BhY2UnOiB7XG4gICAgICAgIG9iaiA9IHtcbiAgICAgICAgICBwcm9qZWN0OiB0aGlzLms4c1V0aWwuZ2V0TGFiZWwoc2VsZWN0ZWQuX19vcmlnaW4sICdwcm9qZWN0JyksXG4gICAgICAgICAgY2x1c3Rlcjogc2VsZWN0ZWQuY2x1c3RlcixcbiAgICAgICAgICBuYW1lc3BhY2U6IHNlbGVjdGVkLm5hbWUsXG4gICAgICAgICAgc2VydmljZW1lc2g6IHNlbGVjdGVkLnNlcnZpY2VNZXNoTmFtZSB8fCAnJyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5hdXRoLmdldEFjY291bnRJbmZvKCkuc3Vic2NyaWJlKCh7IGVtYWlsIH0pID0+IHtcbiAgICAgIHNldFdvcmtzcGFjZVBhcmFtcyhvYmosIGVtYWlsKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdChzZWxlY3RlZCk7XG4gIH1cblxuICBhYnN0cmFjdCBtYXBSZXNvdXJjZShcbiAgICByZXM6IEt1YmVybmV0ZXNSZXNvdXJjZVtdLFxuICAgIHBhcmFtcz86IHVua25vd24sXG4gICk6IERhdGFJdGVtQmFzZVtdO1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgfVxufVxuIl19