@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
47 lines • 5.27 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { AppStateService } from '../common';
import { VERSION_MODULE_CONFIG } from './version.model';
import { map } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "../common";
/**
* Provides the information about the current application.
*/
export class ApplicationVersionFactory {
constructor(config, appState) {
this.config = config;
this.appState = appState;
if (this.config?.disableWebSDKVersionFactory) {
return;
}
this.applicationVersions$ = this.appState.currentApplication.pipe(map(app => this.getInformationFromApp(app)));
}
get() {
return this.applicationVersions$;
}
getInformationFromApp(app) {
return {
label: app.name,
version: app.version || app.manifest?.version,
type: 'CURRENT_APPLICATION',
hidden: true,
custom: {
...app
}
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationVersionFactory, 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: ApplicationVersionFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationVersionFactory, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tdmVyc2lvbi5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS92ZXJzaW9uL2FwcGxpY2F0aW9uLXZlcnNpb24uZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxXQUFXLENBQUM7QUFDOUQsT0FBTyxFQUFnQyxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3JDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNxRCxNQUEyQixFQUN0RSxRQUF5QjtRQURrQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN0RSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUVqQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxHQUFpQjtRQUNyQyxPQUFPO1lBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPO1lBQzdDLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxHQUFHO2FBQ1A7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0E3QlUseUJBQXlCLGtCQUlkLHFCQUFxQjttSEFKaEMseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBFeHRlbnNpb25GYWN0b3J5IH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IFZlcnNpb24sIFZlcnNpb25Nb2R1bGVDb25maWcsIFZFUlNJT05fTU9EVUxFX0NPTkZJRyB9IGZyb20gJy4vdmVyc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvblZlcnNpb25GYWN0b3J5IGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxWZXJzaW9uPiB7XG4gIGFwcGxpY2F0aW9uVmVyc2lvbnMkOiBPYnNlcnZhYmxlPFZlcnNpb24+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVkVSU0lPTl9NT0RVTEVfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmVyc2lvbk1vZHVsZUNvbmZpZyxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5kaXNhYmxlV2ViU0RLVmVyc2lvbkZhY3RvcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBsaWNhdGlvblZlcnNpb25zJCA9IHRoaXMuYXBwU3RhdGUuY3VycmVudEFwcGxpY2F0aW9uLnBpcGUoXG4gICAgICBtYXAoYXBwID0+IHRoaXMuZ2V0SW5mb3JtYXRpb25Gcm9tQXBwKGFwcCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFZlcnNpb24+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblZlcnNpb25zJDtcbiAgfVxuXG4gIGdldEluZm9ybWF0aW9uRnJvbUFwcChhcHA6IElBcHBsaWNhdGlvbik6IFZlcnNpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogYXBwLm5hbWUsXG4gICAgICB2ZXJzaW9uOiBhcHAudmVyc2lvbiB8fCBhcHAubWFuaWZlc3Q/LnZlcnNpb24sXG4gICAgICB0eXBlOiAnQ1VSUkVOVF9BUFBMSUNBVElPTicsXG4gICAgICBoaWRkZW46IHRydWUsXG4gICAgICBjdXN0b206IHtcbiAgICAgICAgLi4uYXBwXG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19