UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

52 lines 7.46 kB
import { Injectable } from '@angular/core'; import { DataFetchingService } from '@c8y/ngx-components/datapoints-export-selector'; import { INTERVAL_VALUES } from '@c8y/ngx-components/interval-picker'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components/datapoints-export-selector"; export class DatapointsTableService { constructor(dataFetchingService) { this.dataFetchingService = dataFetchingService; } calculateDateRange(interval) { const now = new Date(); const nowString = now.toISOString(); let dateFrom; switch (interval) { case INTERVAL_VALUES.minutes: dateFrom = this.dataFetchingService.adjustDate(nowString, -1, true); break; case INTERVAL_VALUES.hours: const minutesInAnHourNegative = -60; dateFrom = this.dataFetchingService.adjustDate(nowString, minutesInAnHourNegative, true); break; case INTERVAL_VALUES.days: const minutesInADayNegative = -24 * 60; dateFrom = this.dataFetchingService.adjustDate(nowString, minutesInADayNegative, true); break; case INTERVAL_VALUES.weeks: const minutesInAWeekNegative = -7 * 24 * 60; dateFrom = this.dataFetchingService.adjustDate(nowString, minutesInAWeekNegative, true); break; case INTERVAL_VALUES.months: const oneMonthAgo = new Date(now); oneMonthAgo.setMonth(oneMonthAgo.getMonth() - 1); dateFrom = this.dataFetchingService.adjustDate(oneMonthAgo.toISOString(), 0, true); break; default: throw new Error('Invalid time interval'); } return { dateFrom: dateFrom, dateTo: this.dataFetchingService.adjustDate(nowString, 0, true) }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsTableService, deps: [{ token: i1.DataFetchingService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsTableService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsTableService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.DataFetchingService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvZGF0YXBvaW50cy10YWJsZS9kYXRhcG9pbnRzLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFZLE1BQU0scUNBQXFDLENBQUM7OztBQU1oRixNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVoRSxrQkFBa0IsQ0FBQyxRQUF3QjtRQUN6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQyxJQUFJLFFBQWdCLENBQUM7UUFFckIsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLGVBQWUsQ0FBQyxPQUFPO2dCQUMxQixRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BFLE1BQU07WUFDUixLQUFLLGVBQWUsQ0FBQyxLQUFLO2dCQUN4QixNQUFNLHVCQUF1QixHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3pGLE1BQU07WUFDUixLQUFLLGVBQWUsQ0FBQyxJQUFJO2dCQUN2QixNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDdkMsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN2RixNQUFNO1lBQ1IsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDeEIsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUM1QyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3hGLE1BQU07WUFDUixLQUFLLGVBQWUsQ0FBQyxNQUFNO2dCQUN6QixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ25GLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsUUFBUTtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQztTQUNoRSxDQUFDO0lBQ0osQ0FBQzsrR0F0Q1Usc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFGZXRjaGluZ1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludHMtZXhwb3J0LXNlbGVjdG9yJztcbmltcG9ydCB7IElOVEVSVkFMX1ZBTFVFUywgSW50ZXJ2YWwgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ludGVydmFsLXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuL2RhdGFwb2ludHMtdGFibGUtd2lkZ2V0Lm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXBvaW50c1RhYmxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YUZldGNoaW5nU2VydmljZTogRGF0YUZldGNoaW5nU2VydmljZSkge31cblxuICBjYWxjdWxhdGVEYXRlUmFuZ2UoaW50ZXJ2YWw6IEludGVydmFsWydpZCddKTogRGF0ZVJhbmdlIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG5vd1N0cmluZyA9IG5vdy50b0lTT1N0cmluZygpO1xuXG4gICAgbGV0IGRhdGVGcm9tOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKGludGVydmFsKSB7XG4gICAgICBjYXNlIElOVEVSVkFMX1ZBTFVFUy5taW51dGVzOlxuICAgICAgICBkYXRlRnJvbSA9IHRoaXMuZGF0YUZldGNoaW5nU2VydmljZS5hZGp1c3REYXRlKG5vd1N0cmluZywgLTEsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSU5URVJWQUxfVkFMVUVTLmhvdXJzOlxuICAgICAgICBjb25zdCBtaW51dGVzSW5BbkhvdXJOZWdhdGl2ZSA9IC02MDtcbiAgICAgICAgZGF0ZUZyb20gPSB0aGlzLmRhdGFGZXRjaGluZ1NlcnZpY2UuYWRqdXN0RGF0ZShub3dTdHJpbmcsIG1pbnV0ZXNJbkFuSG91ck5lZ2F0aXZlLCB0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIElOVEVSVkFMX1ZBTFVFUy5kYXlzOlxuICAgICAgICBjb25zdCBtaW51dGVzSW5BRGF5TmVnYXRpdmUgPSAtMjQgKiA2MDtcbiAgICAgICAgZGF0ZUZyb20gPSB0aGlzLmRhdGFGZXRjaGluZ1NlcnZpY2UuYWRqdXN0RGF0ZShub3dTdHJpbmcsIG1pbnV0ZXNJbkFEYXlOZWdhdGl2ZSwgdHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJTlRFUlZBTF9WQUxVRVMud2Vla3M6XG4gICAgICAgIGNvbnN0IG1pbnV0ZXNJbkFXZWVrTmVnYXRpdmUgPSAtNyAqIDI0ICogNjA7XG4gICAgICAgIGRhdGVGcm9tID0gdGhpcy5kYXRhRmV0Y2hpbmdTZXJ2aWNlLmFkanVzdERhdGUobm93U3RyaW5nLCBtaW51dGVzSW5BV2Vla05lZ2F0aXZlLCB0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIElOVEVSVkFMX1ZBTFVFUy5tb250aHM6XG4gICAgICAgIGNvbnN0IG9uZU1vbnRoQWdvID0gbmV3IERhdGUobm93KTtcbiAgICAgICAgb25lTW9udGhBZ28uc2V0TW9udGgob25lTW9udGhBZ28uZ2V0TW9udGgoKSAtIDEpO1xuICAgICAgICBkYXRlRnJvbSA9IHRoaXMuZGF0YUZldGNoaW5nU2VydmljZS5hZGp1c3REYXRlKG9uZU1vbnRoQWdvLnRvSVNPU3RyaW5nKCksIDAsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0aW1lIGludGVydmFsJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVGcm9tOiBkYXRlRnJvbSxcbiAgICAgIGRhdGVUbzogdGhpcy5kYXRhRmV0Y2hpbmdTZXJ2aWNlLmFkanVzdERhdGUobm93U3RyaW5nLCAwLCB0cnVlKVxuICAgIH07XG4gIH1cbn1cbiJdfQ==