diff --git a/frontend/src/components/Service/ServiceHeatmap.vue b/frontend/src/components/Service/ServiceHeatmap.vue index 1206ab69..febaddd7 100644 --- a/frontend/src/components/Service/ServiceHeatmap.vue +++ b/frontend/src/components/Service/ServiceHeatmap.vue @@ -82,22 +82,15 @@ }, methods: { async chartHeatmap() { - let start = new Date(new Date().getUTCFullYear(), new Date().getUTCMonth()-2, 1); - let monthData = []; - let monthNum = start.getUTCMonth() + const monthData = [] + let start = this.firstDayOfMonth(this.now()) - for (let i=1; i<=3; i++) { - let end = this.lastDayOfMonth(monthNum) + for (let i=0; i<3; i++) { + monthData.push(await this.heatmapData(this.addMonths(start, -i), this.lastDayOfMonth(this.addMonths(start, -i)))) + } - window.console.log("getting: ",start, end) - - const inputdata = await this.heatmapData(start, end) - monthData.push(inputdata) - start = new Date(start.getUTCFullYear(), start.getUTCMonth()+1, 1); - monthNum += 1 - } - this.series = monthData.reverse() - this.ready = true + this.series = monthData + this.ready = true }, async heatmapData(start, end) { const data = await Api.service_failures_data(this.service.id, this.toUnix(start), this.toUnix(end), "24h", true) diff --git a/frontend/src/mixin.js b/frontend/src/mixin.js index 9293c731..9f02ee16 100644 --- a/frontend/src/mixin.js +++ b/frontend/src/mixin.js @@ -1,5 +1,5 @@ import Vue from "vue"; -const { startOfToday, lastDayOfMonth, subSeconds, getUnixTime, fromUnixTime, formatDistance, isWithinInterval } = require('date-fns') +const { startOfToday, startOfMonth, lastDayOfMonth, subSeconds, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance, addMonths, isWithinInterval } = require('date-fns') import formatDistanceToNow from 'date-fns/formatDistanceToNow' import format from 'date-fns/format' import parseISO from 'date-fns/parseISO' @@ -168,11 +168,14 @@ export default Vue.mixin({ } return Math.floor(val / 1000) + "μs" }, - lastDayOfMonth(month) { - return new Date(Date.UTC(new Date().getUTCFullYear(), month + 1, 0)) + firstDayOfMonth(date) { + return startOfMonth(date) }, - firstDayOfMonth(month) { - return new Date(Date.UTC(new Date().getUTCFullYear(), month, 1)).getUTCDate() + lastDayOfMonth(month) { + return lastDayOfMonth(date) + }, + addMonths(date, amount) { + return addMonths(date, amount) } } });