@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
52 lines • 7.46 kB
JavaScript
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==