@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
31 lines • 3.58 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { flatten } from 'lodash-es';
import { HOOK_SERVICE_STATUS, SERVICE_STATUS_OPTIONS } from './status-options.model';
import * as i0 from "@angular/core";
/**
* The service for system wide registered service status options.
* It provides the standard service statuses plus all custom status options
* registered with the <code>HOOK_SERVICE_STATUS</code> extension hook.
*/
export class StatusOptionsService {
get options() {
return this._options;
}
constructor(options) {
this._options = [...SERVICE_STATUS_OPTIONS, ...flatten(options)];
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatusOptionsService, deps: [{ token: HOOK_SERVICE_STATUS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatusOptionsService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatusOptionsService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: Array, decorators: [{
type: Optional
}, {
type: Inject,
args: [HOOK_SERVICE_STATUS]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLW9wdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3N0YXR1cy1vcHRpb25zL3N0YXR1cy1vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFnQixNQUFNLHdCQUF3QixDQUFDOztBQUVuRzs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUlELFlBQzJDLE9BQTZDO1FBRXRGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzsrR0FYVSxvQkFBb0Isa0JBUVQsbUJBQW1CO21IQVI5QixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEhPT0tfU0VSVklDRV9TVEFUVVMsIFNFUlZJQ0VfU1RBVFVTX09QVElPTlMsIFN0YXR1c09wdGlvbiB9IGZyb20gJy4vc3RhdHVzLW9wdGlvbnMubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBzZXJ2aWNlIGZvciBzeXN0ZW0gd2lkZSByZWdpc3RlcmVkIHNlcnZpY2Ugc3RhdHVzIG9wdGlvbnMuXG4gKiBJdCBwcm92aWRlcyB0aGUgc3RhbmRhcmQgc2VydmljZSBzdGF0dXNlcyBwbHVzIGFsbCBjdXN0b20gc3RhdHVzIG9wdGlvbnNcbiAqIHJlZ2lzdGVyZWQgd2l0aCB0aGUgPGNvZGU+SE9PS19TRVJWSUNFX1NUQVRVUzwvY29kZT4gZXh0ZW5zaW9uIGhvb2suXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c09wdGlvbnNTZXJ2aWNlIHtcbiAgZ2V0IG9wdGlvbnMoKTogU3RhdHVzT3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3B0aW9uczogU3RhdHVzT3B0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChIT09LX1NFUlZJQ0VfU1RBVFVTKSBvcHRpb25zOiBBcnJheTxTdGF0dXNPcHRpb24gfCBTdGF0dXNPcHRpb25bXT5cbiAgKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IFsuLi5TRVJWSUNFX1NUQVRVU19PUFRJT05TLCAuLi5mbGF0dGVuKG9wdGlvbnMpXTtcbiAgfVxufVxuIl19