UNPKG

ngx-gem-spaas

Version:

This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.

48 lines 7.85 kB
import { DateTime } from 'luxon'; export class DateModel { static setLabels(date, byMins) { const labels = []; let from = DateTime.fromISO(date).startOf('day'); const to = DateTime.fromISO(date).endOf('day'); while (from < to) { labels.push(from.toUTC().toISO() || 'invalid date'); from = from.plus({ minutes: byMins }); } return labels; } constructor(date) { this.intraDayLabelsH = []; this.intraDayLabelsS = []; this.intraDayLabelsQ = []; this.intraDayNumH = 0; this.dayAhead = ''; this.dayAheadLabelsH = []; this.dayAheadLabelsS = []; this.dayAheadLabelsQ = []; this.dayAheadNumH = 0; let dt = DateTime.fromISO(date).startOf('day').toUTC(); if (!dt.isValid) { dt = DateTime.now().startOf('day'); } this.intraDay = dt.toISO(); this.calcFields(); } calcFields() { // intra-day this.intraDayNumH = this.calcHours(this.intraDay); this.intraDayLabelsH = DateModel.setLabels(this.intraDay, 60); this.intraDayLabelsS = DateModel.setLabels(this.intraDay, 30); this.intraDayLabelsQ = DateModel.setLabels(this.intraDay, 15); // day-ahead this.dayAhead = DateTime.fromISO(this.intraDay).plus({ days: 1 }).toUTC().toISO() || 'invalid date'; this.dayAheadNumH = this.calcHours(this.dayAhead); this.dayAheadLabelsH = DateModel.setLabels(this.dayAhead, 60); this.dayAheadLabelsS = DateModel.setLabels(this.dayAhead, 30); this.dayAheadLabelsQ = DateModel.setLabels(this.dayAhead, 15); } calcHours(date) { const startOfDate = DateTime.fromISO(date).startOf('day'); return startOfDate.plus({ days: 1 }).startOf('day').diff(startOfDate, 'hours').toObject().hours; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nZW0tc3BhYXMvZGF0ZS9zcmMvX21vZGVscy9kYXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFHL0IsTUFBTSxPQUFPLFNBQVM7SUFZWixNQUFNLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxNQUF1QjtRQUM1RCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksY0FBYyxDQUFDLENBQUM7WUFDcEQsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksSUFBWTtRQXJCeEIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQWN2QixJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixZQUFZO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxZQUFZO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxjQUFjLENBQUM7UUFDbEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVk7UUFDNUIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsT0FBZSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3hHLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVRpbWV9IGZyb20gJ2x1eG9uJztcclxuaW1wb3J0IHtHcmFudWxhcml0eVR5cGV9IGZyb20gXCIuL2NvbnRyYWN0Lm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZU1vZGVsIHtcclxuICBpbnRyYURheTogc3RyaW5nO1xyXG4gIGludHJhRGF5TGFiZWxzSDogc3RyaW5nW10gPSBbXTtcclxuICBpbnRyYURheUxhYmVsc1M6IHN0cmluZ1tdID0gW107XHJcbiAgaW50cmFEYXlMYWJlbHNROiBzdHJpbmdbXSA9IFtdO1xyXG4gIGludHJhRGF5TnVtSDogbnVtYmVyID0gMDtcclxuICBkYXlBaGVhZDogc3RyaW5nID0gJyc7XHJcbiAgZGF5QWhlYWRMYWJlbHNIOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGRheUFoZWFkTGFiZWxzUzogc3RyaW5nW10gPSBbXTtcclxuICBkYXlBaGVhZExhYmVsc1E6IHN0cmluZ1tdID0gW107XHJcbiAgZGF5QWhlYWROdW1IOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBzZXRMYWJlbHMoZGF0ZTogc3RyaW5nLCBieU1pbnM6IEdyYW51bGFyaXR5VHlwZSk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGxhYmVsczogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCBmcm9tID0gRGF0ZVRpbWUuZnJvbUlTTyhkYXRlKS5zdGFydE9mKCdkYXknKTtcclxuICAgIGNvbnN0IHRvID0gRGF0ZVRpbWUuZnJvbUlTTyhkYXRlKS5lbmRPZignZGF5Jyk7XHJcbiAgICB3aGlsZSAoZnJvbSA8IHRvKSB7XHJcbiAgICAgIGxhYmVscy5wdXNoKGZyb20udG9VVEMoKS50b0lTTygpIHx8ICdpbnZhbGlkIGRhdGUnKTtcclxuICAgICAgZnJvbSA9IGZyb20ucGx1cyh7bWludXRlczogYnlNaW5zfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGFiZWxzO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZHQgPSBEYXRlVGltZS5mcm9tSVNPKGRhdGUpLnN0YXJ0T2YoJ2RheScpLnRvVVRDKCk7XHJcbiAgICBpZiAoIWR0LmlzVmFsaWQpIHtcclxuICAgICAgZHQgPSBEYXRlVGltZS5ub3coKS5zdGFydE9mKCdkYXknKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW50cmFEYXkgPSBkdC50b0lTTygpO1xyXG4gICAgdGhpcy5jYWxjRmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBjYWxjRmllbGRzKCk6IHZvaWQge1xyXG4gICAgLy8gaW50cmEtZGF5XHJcbiAgICB0aGlzLmludHJhRGF5TnVtSCA9IHRoaXMuY2FsY0hvdXJzKHRoaXMuaW50cmFEYXkpO1xyXG4gICAgdGhpcy5pbnRyYURheUxhYmVsc0ggPSBEYXRlTW9kZWwuc2V0TGFiZWxzKHRoaXMuaW50cmFEYXksIDYwKTtcclxuICAgIHRoaXMuaW50cmFEYXlMYWJlbHNTID0gRGF0ZU1vZGVsLnNldExhYmVscyh0aGlzLmludHJhRGF5LCAzMCk7XHJcbiAgICB0aGlzLmludHJhRGF5TGFiZWxzUSA9IERhdGVNb2RlbC5zZXRMYWJlbHModGhpcy5pbnRyYURheSwgMTUpO1xyXG4gICAgLy8gZGF5LWFoZWFkXHJcbiAgICB0aGlzLmRheUFoZWFkID0gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLmludHJhRGF5KS5wbHVzKHtkYXlzOiAxfSkudG9VVEMoKS50b0lTTygpIHx8ICdpbnZhbGlkIGRhdGUnO1xyXG4gICAgdGhpcy5kYXlBaGVhZE51bUggPSB0aGlzLmNhbGNIb3Vycyh0aGlzLmRheUFoZWFkKTtcclxuICAgIHRoaXMuZGF5QWhlYWRMYWJlbHNIID0gRGF0ZU1vZGVsLnNldExhYmVscyh0aGlzLmRheUFoZWFkLCA2MCk7XHJcbiAgICB0aGlzLmRheUFoZWFkTGFiZWxzUyA9IERhdGVNb2RlbC5zZXRMYWJlbHModGhpcy5kYXlBaGVhZCwgMzApO1xyXG4gICAgdGhpcy5kYXlBaGVhZExhYmVsc1EgPSBEYXRlTW9kZWwuc2V0TGFiZWxzKHRoaXMuZGF5QWhlYWQsIDE1KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY0hvdXJzKGRhdGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBjb25zdCBzdGFydE9mRGF0ZSA9IERhdGVUaW1lLmZyb21JU08oZGF0ZSkuc3RhcnRPZignZGF5Jyk7XHJcbiAgICByZXR1cm4gPG51bWJlcj5zdGFydE9mRGF0ZS5wbHVzKHtkYXlzOiAxfSkuc3RhcnRPZignZGF5JykuZGlmZihzdGFydE9mRGF0ZSwgJ2hvdXJzJykudG9PYmplY3QoKS5ob3VycztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==