Fix heatmap

pull/589/head
Kevin Petit 2020-05-16 16:13:57 +02:00
parent dab8c6ce83
commit c5b93bdbb9
2 changed files with 26 additions and 34 deletions

View File

@ -82,18 +82,16 @@
}, },
methods: { methods: {
async chartHeatmap() { async chartHeatmap() {
let start = new Date(new Date().getUTCFullYear(), new Date().getUTCMonth()-2, 1); let start = new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth()-2, 1));
let monthData = []; let monthData = [];
let monthNum = start.getUTCMonth() let monthNum = start.getUTCMonth()
for (let i=1; i<=3; i++) { for (let i=1; i<=3; i++) {
let end = this.lastDayOfMonth(monthNum) let end = this.lastDayOfMonth(start)
window.console.log("getting: ",start, end)
const inputdata = await this.heatmapData(start, end) const inputdata = await this.heatmapData(start, end)
monthData.push(inputdata) monthData.push(inputdata)
start = new Date(start.getUTCFullYear(), start.getUTCMonth()+1, 1); start = new Date(Date.UTC(start.getUTCFullYear(), start.getUTCMonth()+1, 1));
monthNum += 1 monthNum += 1
} }
this.series = monthData.reverse() this.series = monthData.reverse()

View File

@ -1,5 +1,5 @@
import Vue from "vue"; import Vue from "vue";
const { zonedTimeToUtc, utcToZonedTime, startOfToday, lastDayOfMonth, subSeconds, parse, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance } = require('date-fns') const { startOfToday, lastDayOfMonth, subSeconds, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance } = require('date-fns')
import formatDistanceToNow from 'date-fns/formatDistanceToNow' import formatDistanceToNow from 'date-fns/formatDistanceToNow'
import format from 'date-fns/format' import format from 'date-fns/format'
import parseISO from 'date-fns/parseISO' import parseISO from 'date-fns/parseISO'
@ -19,26 +19,23 @@ export default Vue.mixin({
startToday() { startToday() {
return startOfToday() return startOfToday()
}, },
secondsHumanize (val) { secondsHumanize (val) {
const t2 = addSeconds(new Date(0), val) const t2 = addSeconds(new Date(0), val)
if (val >= 60) { if (val >= 60) {
let minword = "minute" let minword = "minute"
if (val >= 120) { if (val >= 120) {
minword = "minutes" minword = "minutes"
} }
return format(t2, "m '"+minword+"' s 'seconds'") return format(t2, "m '"+minword+"' s 'seconds'")
} }
return format(t2, "s 'seconds'") return format(t2, "s 'seconds'")
}, },
utc(val) { utc(val) {
return new Date.UTC(val) return new Date.UTC(val)
}, },
ago(t1) { ago(t1) {
return formatDistanceToNow(parseISO(t1)) return formatDistanceToNow(parseISO(t1))
}, },
daysInMonth(t1) {
return lastDayOfMonth(t1)
},
nowSubtract(seconds) { nowSubtract(seconds) {
return subSeconds(new Date(), seconds) return subSeconds(new Date(), seconds)
}, },
@ -51,9 +48,9 @@ export default Vue.mixin({
niceDate(val) { niceDate(val) {
return format(parseISO(val), "EEEE, MMM do h:mma") return format(parseISO(val), "EEEE, MMM do h:mma")
}, },
parseISO(v) { parseISO(v) {
return parseISO(v) return parseISO(v)
}, },
toUnix(val) { toUnix(val) {
return getUnixTime(val) return getUnixTime(val)
}, },
@ -149,17 +146,14 @@ export default Vue.mixin({
}) })
return {data: newSet} return {data: newSet}
}, },
humanTime(val) { humanTime(val) {
if (val >= 10000) { if (val >= 10000) {
return Math.floor(val / 10000) + "ms" return Math.floor(val / 10000) + "ms"
} }
return Math.floor(val / 1000) + "μs" return Math.floor(val / 1000) + "μs"
}, },
lastDayOfMonth(month) { lastDayOfMonth(date) {
return new Date(Date.UTC(new Date().getUTCFullYear(), month + 1, 0)) return lastDayOfMonth(date)
}, },
firstDayOfMonth(month) {
return new Date(Date.UTC(new Date().getUTCFullYear(), month, 1)).getUTCDate()
}
} }
}); });