@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
44 lines • 5.21 kB
JavaScript
import { Injectable } from '@angular/core';
import { EventService } from '@c8y/client';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/client";
export class ChartEventsService {
constructor(eventService) {
this.eventService = eventService;
}
/**
* List events for the given event details.
* @param params Additonal fetchOptions
* @param events List of event types with details like color, target, etc.
* @returns List of events for the given event details
*/
async listEvents(params, events) {
if (!events) {
return [];
}
const promises = events.map(event => {
const fetchOptions = {
source: event.__target.id,
type: event.filters.type,
withTotalPages: true,
pageSize: 1000,
...params
};
return this.eventService.list(fetchOptions).then(result => {
result.data.forEach(iEvent => {
iEvent['color'] = event.color;
iEvent['selectedDatapoint'] = event.selectedDatapoint;
});
return result.data;
});
});
const result = await Promise.all(promises);
return result.flat();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartEventsService, deps: [{ token: i1.EventService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartEventsService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartEventsService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.EventService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvc2VydmljZXMvY2hhcnQtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUF5QixNQUFNLGFBQWEsQ0FBQzs7O0FBSWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFZLEVBQUUsTUFBdUI7UUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxNQUFNLFlBQVksR0FBa0I7Z0JBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3hCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxHQUFHLE1BQU07YUFDVixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztvQkFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQS9CVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSwgSUV2ZW50LCBJRmV0Y2hPcHRpb25zIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRXZlbnREZXRhaWxzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hbGFybS1ldmVudC1zZWxlY3Rvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGFydEV2ZW50c1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBMaXN0IGV2ZW50cyBmb3IgdGhlIGdpdmVuIGV2ZW50IGRldGFpbHMuXG4gICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRvbmFsIGZldGNoT3B0aW9uc1xuICAgKiBAcGFyYW0gZXZlbnRzIExpc3Qgb2YgZXZlbnQgdHlwZXMgd2l0aCBkZXRhaWxzIGxpa2UgY29sb3IsIHRhcmdldCwgZXRjLlxuICAgKiBAcmV0dXJucyBMaXN0IG9mIGV2ZW50cyBmb3IgdGhlIGdpdmVuIGV2ZW50IGRldGFpbHNcbiAgICovXG4gIGFzeW5jIGxpc3RFdmVudHMocGFyYW1zPzogYW55LCBldmVudHM/OiBFdmVudERldGFpbHNbXSk6IFByb21pc2U8SUV2ZW50W10+IHtcbiAgICBpZiAoIWV2ZW50cykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBwcm9taXNlcyA9IGV2ZW50cy5tYXAoZXZlbnQgPT4ge1xuICAgICAgY29uc3QgZmV0Y2hPcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgICBzb3VyY2U6IGV2ZW50Ll9fdGFyZ2V0LmlkLFxuICAgICAgICB0eXBlOiBldmVudC5maWx0ZXJzLnR5cGUsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlLFxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcbiAgICAgICAgLi4ucGFyYW1zXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmxpc3QoZmV0Y2hPcHRpb25zKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIHJlc3VsdC5kYXRhLmZvckVhY2goaUV2ZW50ID0+IHtcbiAgICAgICAgICBpRXZlbnRbJ2NvbG9yJ10gPSBldmVudC5jb2xvcjtcbiAgICAgICAgICBpRXZlbnRbJ3NlbGVjdGVkRGF0YXBvaW50J10gPSBldmVudC5zZWxlY3RlZERhdGFwb2ludDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICByZXR1cm4gcmVzdWx0LmZsYXQoKTtcbiAgfVxufVxuIl19