UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

49 lines 6.18 kB
import { Inject, Injectable, Optional } from '@angular/core'; import { of } from 'rxjs'; import { distinctUntilChanged, filter, map, shareReplay } from 'rxjs/operators'; import { AppStateService } from '../common'; import { gettext } from '../i18n'; import { VERSION_MODULE_CONFIG } from './version.model'; import * as i0 from "@angular/core"; import * as i1 from "../common"; /** * Will provide the backend versions of the tenant. * The system option 'system' -> 'version' is used for this. */ export class BackendVersionFactory { constructor(config, appState) { this.config = config; this.appState = appState; this.backendVersion$ = of([]); if (this.config?.disableBackendVersionFactory) { return; } this.backendVersion$ = this.appState.state$.pipe(map(state => state?.versions?.backend), filter(backendVersion => !!backendVersion), distinctUntilChanged(), map(backendVersion => this.buildBackendVersion(backendVersion)), shareReplay(1)); } get() { return this.backendVersion$; } buildBackendVersion(backendVersion) { return { label: gettext('Backend'), version: backendVersion, priority: 20, type: 'SYSTEM', hidden: true }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, deps: [{ token: VERSION_MODULE_CONFIG, optional: true }, { token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [VERSION_MODULE_CONFIG] }] }, { type: i1.AppStateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC12ZXJzaW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3ZlcnNpb24vYmFja2VuZC12ZXJzaW9uLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxXQUFXLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQWdDLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV0Rjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ3FELE1BQTJCLEVBQ3RFLFFBQXlCO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQ3RFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBSG5DLG9CQUFlLEdBQW9DLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUt4RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQzFDLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUMvRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxjQUFzQjtRQUNoRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDekIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQUNKLENBQUM7K0dBOUJVLHFCQUFxQixrQkFHVixxQkFBcUI7bUhBSGhDLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBFeHRlbnNpb25GYWN0b3J5IH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuJztcbmltcG9ydCB7IFZlcnNpb24sIFZlcnNpb25Nb2R1bGVDb25maWcsIFZFUlNJT05fTU9EVUxFX0NPTkZJRyB9IGZyb20gJy4vdmVyc2lvbi5tb2RlbCc7XG5cbi8qKlxuICogV2lsbCBwcm92aWRlIHRoZSBiYWNrZW5kIHZlcnNpb25zIG9mIHRoZSB0ZW5hbnQuXG4gKiBUaGUgc3lzdGVtIG9wdGlvbiAnc3lzdGVtJyAtPiAndmVyc2lvbicgaXMgdXNlZCBmb3IgdGhpcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFja2VuZFZlcnNpb25GYWN0b3J5IGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxWZXJzaW9uPiB7XG4gIGJhY2tlbmRWZXJzaW9uJDogT2JzZXJ2YWJsZTxWZXJzaW9uIHwgVmVyc2lvbltdPiA9IG9mKFtdKTtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChWRVJTSU9OX01PRFVMRV9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWZXJzaW9uTW9kdWxlQ29uZmlnLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmRpc2FibGVCYWNrZW5kVmVyc2lvbkZhY3RvcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5iYWNrZW5kVmVyc2lvbiQgPSB0aGlzLmFwcFN0YXRlLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKHN0YXRlID0+IHN0YXRlPy52ZXJzaW9ucz8uYmFja2VuZCksXG4gICAgICBmaWx0ZXIoYmFja2VuZFZlcnNpb24gPT4gISFiYWNrZW5kVmVyc2lvbiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKGJhY2tlbmRWZXJzaW9uID0+IHRoaXMuYnVpbGRCYWNrZW5kVmVyc2lvbihiYWNrZW5kVmVyc2lvbikpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVyc2lvbiB8IFZlcnNpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRWZXJzaW9uJDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRCYWNrZW5kVmVyc2lvbihiYWNrZW5kVmVyc2lvbjogc3RyaW5nKTogVmVyc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCYWNrZW5kJyksXG4gICAgICB2ZXJzaW9uOiBiYWNrZW5kVmVyc2lvbixcbiAgICAgIHByaW9yaXR5OiAyMCxcbiAgICAgIHR5cGU6ICdTWVNURU0nLFxuICAgICAgaGlkZGVuOiB0cnVlXG4gICAgfTtcbiAgfVxufVxuIl19