@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
65 lines • 6.65 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { AppStateService } from '../common';
import { VERSION_MODULE_CONFIG } from './version.model';
import { gettext } from '../i18n/gettext';
import * as i0 from "@angular/core";
import * as i1 from "../common";
/**
* Will provide the application version (taken from package.json's `version` field) and
* the installed versions of the packages`@c8y/ng1-modules` and `@c8y/ngx-components` if available.
*/
export class WebSDKVersionFactory {
constructor(config, appState) {
this.config = config;
this.appState = appState;
this.webSDKVersions = [];
this.defaults = {
type: 'WebSDK',
priority: 0,
hidden: true
};
if (this.config?.disableWebSDKVersionFactory) {
return;
}
const { ng1, ngx, package: pkg } = this.appState.state.versions.ui;
if (ng1) {
this.webSDKVersions.push({
...this.defaults,
label: '@c8y/ng1-modules',
version: ng1
});
}
if (ngx) {
this.webSDKVersions.push({
...this.defaults,
label: '@c8y/ngx-components',
version: ngx
});
}
if (pkg) {
this.webSDKVersions.push({
...this.defaults,
label: gettext('Application'),
version: pkg,
priority: 50
});
}
}
get() {
return this.webSDKVersions;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebSDKVersionFactory, 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: WebSDKVersionFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebSDKVersionFactory, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2RrLXZlcnNpb24uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvdmVyc2lvbi93ZWJzZGstdmVyc2lvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLFdBQVcsQ0FBQztBQUM5RCxPQUFPLEVBQWdDLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFMUM7OztHQUdHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNxRCxNQUEyQixFQUN0RSxRQUF5QjtRQURrQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN0RSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVRuQyxtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQUc7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsQ0FBQztZQUNYLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQU1BLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUNoQixLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixPQUFPLEVBQUUsR0FBRzthQUNiLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLEdBQUcsSUFBSSxDQUFDLFFBQVE7Z0JBQ2hCLEtBQUssRUFBRSxxQkFBcUI7Z0JBQzVCLE9BQU8sRUFBRSxHQUFHO2FBQ2IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsR0FBRyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2FBQ2IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7K0dBMUNVLG9CQUFvQixrQkFTVCxxQkFBcUI7bUhBVGhDLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSwgRXh0ZW5zaW9uRmFjdG9yeSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBWZXJzaW9uLCBWZXJzaW9uTW9kdWxlQ29uZmlnLCBWRVJTSU9OX01PRFVMRV9DT05GSUcgfSBmcm9tICcuL3ZlcnNpb24ubW9kZWwnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5cbi8qKlxuICogV2lsbCBwcm92aWRlIHRoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uICh0YWtlbiBmcm9tIHBhY2thZ2UuanNvbidzIGB2ZXJzaW9uYCBmaWVsZCkgYW5kXG4gKiB0aGUgaW5zdGFsbGVkIHZlcnNpb25zIG9mIHRoZSBwYWNrYWdlc2BAYzh5L25nMS1tb2R1bGVzYCBhbmQgYEBjOHkvbmd4LWNvbXBvbmVudHNgIGlmIGF2YWlsYWJsZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2ViU0RLVmVyc2lvbkZhY3RvcnkgaW1wbGVtZW50cyBFeHRlbnNpb25GYWN0b3J5PFZlcnNpb24+IHtcbiAgd2ViU0RLVmVyc2lvbnM6IFZlcnNpb25bXSA9IFtdO1xuICBwcml2YXRlIGRlZmF1bHRzID0ge1xuICAgIHR5cGU6ICdXZWJTREsnLFxuICAgIHByaW9yaXR5OiAwLFxuICAgIGhpZGRlbjogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVkVSU0lPTl9NT0RVTEVfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmVyc2lvbk1vZHVsZUNvbmZpZyxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5kaXNhYmxlV2ViU0RLVmVyc2lvbkZhY3RvcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBuZzEsIG5neCwgcGFja2FnZTogcGtnIH0gPSB0aGlzLmFwcFN0YXRlLnN0YXRlLnZlcnNpb25zLnVpO1xuICAgIGlmIChuZzEpIHtcbiAgICAgIHRoaXMud2ViU0RLVmVyc2lvbnMucHVzaCh7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdHMsXG4gICAgICAgIGxhYmVsOiAnQGM4eS9uZzEtbW9kdWxlcycsXG4gICAgICAgIHZlcnNpb246IG5nMVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChuZ3gpIHtcbiAgICAgIHRoaXMud2ViU0RLVmVyc2lvbnMucHVzaCh7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdHMsXG4gICAgICAgIGxhYmVsOiAnQGM4eS9uZ3gtY29tcG9uZW50cycsXG4gICAgICAgIHZlcnNpb246IG5neFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwa2cpIHtcbiAgICAgIHRoaXMud2ViU0RLVmVyc2lvbnMucHVzaCh7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdHMsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBsaWNhdGlvbicpLFxuICAgICAgICB2ZXJzaW9uOiBwa2csXG4gICAgICAgIHByaW9yaXR5OiA1MFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0KCk6IFZlcnNpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMud2ViU0RLVmVyc2lvbnM7XG4gIH1cbn1cbiJdfQ==