@alauda-fe/common
Version:
Alauda frontend team common codes.
84 lines • 10.1 kB
JavaScript
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