From b1b6462ebdb182064bcefa8229f3e664f86c28ca Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Sat, 16 May 2020 18:54:27 +0200 Subject: [PATCH 1/3] Fix announcement display --- .../src/components/Index/MessageBlock.vue | 6 ++--- frontend/src/mixin.js | 9 ++++--- frontend/src/pages/Index.vue | 24 +++++++++---------- frontend/src/pages/Service.vue | 17 ++++++------- 4 files changed, 29 insertions(+), 27 deletions(-) diff --git a/frontend/src/components/Index/MessageBlock.vue b/frontend/src/components/Index/MessageBlock.vue index 5fd9ce57..96c98225 100644 --- a/frontend/src/components/Index/MessageBlock.vue +++ b/frontend/src/components/Index/MessageBlock.vue @@ -1,13 +1,13 @@ diff --git a/frontend/src/mixin.js b/frontend/src/mixin.js index d1a285b6..7e69ae90 100644 --- a/frontend/src/mixin.js +++ b/frontend/src/mixin.js @@ -1,5 +1,5 @@ import Vue from "vue"; -const { zonedTimeToUtc, utcToZonedTime, startOfToday, lastDayOfMonth, subSeconds, parse, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance } = require('date-fns') +const { zonedTimeToUtc, utcToZonedTime, startOfToday, lastDayOfMonth, subSeconds, parse, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance, isWithinInterval } = require('date-fns') import formatDistanceToNow from 'date-fns/formatDistanceToNow' import format from 'date-fns/format' import parseISO from 'date-fns/parseISO' @@ -60,8 +60,8 @@ export default Vue.mixin({ fromUnix(val) { return fromUnixTime(val) }, - isBetween(t1, t2) { - return differenceInSeconds(parseISO(t1), parseISO(t2)) >= 0 + isBetween(t, start, end) { + return isWithinInterval(t, {start: parseISO(start), end: parseISO(end)}) }, hour() { return 3600 @@ -69,6 +69,9 @@ export default Vue.mixin({ day() { return 3600 * 24 }, + maxDate() { + return new Date(8640000000000000) + }, copy(txt) { this.$copyText(txt).then(function (e) { alert('Copied: \n'+txt) diff --git a/frontend/src/pages/Index.vue b/frontend/src/pages/Index.vue index f551a7c9..b1610fea 100644 --- a/frontend/src/pages/Index.vue +++ b/frontend/src/pages/Index.vue @@ -3,8 +3,8 @@
-
-
+ -
- -
- -
- +
+
-
+ +
+ +
+
@@ -60,7 +60,7 @@ export default { }, computed: { messages() { - return this.$store.getters.messages + return this.$store.getters.messages.filter(m => this.inRange(m) && m.service === 0) }, groups() { return this.$store.getters.groupsInOrder @@ -80,9 +80,7 @@ export default { }, methods: { inRange(message) { - const start = this.isBetween(new Date(), message.start_on) - const end = this.isBetween(message.end_on, new Date()) - return start && end + return this.isBetween(this.now(), message.start_on, message.start_on === message.end_on ? this.maxDate().toISOString() : message.end_on) } } } diff --git a/frontend/src/pages/Service.vue b/frontend/src/pages/Service.vue index a3d71e7d..c32f2aa8 100644 --- a/frontend/src/pages/Service.vue +++ b/frontend/src/pages/Service.vue @@ -16,8 +16,8 @@ -
- +
+
@@ -348,7 +348,10 @@ export default { name: this.service.name, ...this.convertToChartData(this.data) }] - } + }, + messagesInRange() { + return this.$store.getters.serviceMessages(this.service.id).filter(m => this.inRange(m)) + }, }, watch: { service: function(n, o) { @@ -412,11 +415,9 @@ export default { } return [{data: arr}] }, - messageInRange(message) { - const start = this.isBetween(new Date(), message.start_on) - const end = this.isBetween(message.end_on, new Date()) - return start && end - }, + inRange(message) { + return this.isBetween(this.now(), message.start_on, message.start_on === message.end_on ? this.maxDate().toISOString() : message.end_on) + }, async getService() { await this.chartHits() await this.serviceFailures() From b50b8e50d119b4d087b8feca6329f6ea416f0f26 Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Sat, 16 May 2020 18:54:59 +0200 Subject: [PATCH 2/3] Remove unused imports --- frontend/src/mixin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/mixin.js b/frontend/src/mixin.js index 7e69ae90..2dc3685f 100644 --- a/frontend/src/mixin.js +++ b/frontend/src/mixin.js @@ -1,5 +1,5 @@ import Vue from "vue"; -const { zonedTimeToUtc, utcToZonedTime, startOfToday, lastDayOfMonth, subSeconds, parse, getUnixTime, fromUnixTime, differenceInSeconds, formatDistance, isWithinInterval } = require('date-fns') +const { startOfToday, lastDayOfMonth, subSeconds, getUnixTime, fromUnixTime, formatDistance, isWithinInterval } = require('date-fns') import formatDistanceToNow from 'date-fns/formatDistanceToNow' import format from 'date-fns/format' import parseISO from 'date-fns/parseISO' From 14b4038572fb00f828caf25c2e6cd929b2295975 Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Sat, 16 May 2020 18:56:23 +0200 Subject: [PATCH 3/3] Reformat code --- frontend/src/mixin.js | 46 +++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/frontend/src/mixin.js b/frontend/src/mixin.js index 2dc3685f..3d698e85 100644 --- a/frontend/src/mixin.js +++ b/frontend/src/mixin.js @@ -19,26 +19,26 @@ export default Vue.mixin({ startToday() { return startOfToday() }, - secondsHumanize (val) { - const t2 = addSeconds(new Date(0), val) - if (val >= 60) { - let minword = "minute" - if (val >= 120) { - minword = "minutes" - } - return format(t2, "m '"+minword+"' s 'seconds'") - } - return format(t2, "s 'seconds'") - }, + secondsHumanize (val) { + const t2 = addSeconds(new Date(0), val) + if (val >= 60) { + let minword = "minute" + if (val >= 120) { + minword = "minutes" + } + return format(t2, "m '"+minword+"' s 'seconds'") + } + return format(t2, "s 'seconds'") + }, utc(val) { return new Date.UTC(val) }, ago(t1) { return formatDistanceToNow(parseISO(t1)) }, - daysInMonth(t1) { - return lastDayOfMonth(t1) - }, + daysInMonth(t1) { + return lastDayOfMonth(t1) + }, nowSubtract(seconds) { return subSeconds(new Date(), seconds) }, @@ -51,9 +51,9 @@ export default Vue.mixin({ niceDate(val) { return format(parseISO(val), "EEEE, MMM do h:mma") }, - parseISO(v) { - return parseISO(v) - }, + parseISO(v) { + return parseISO(v) + }, toUnix(val) { return getUnixTime(val) }, @@ -152,12 +152,12 @@ export default Vue.mixin({ }) return {data: newSet} }, - humanTime(val) { - if (val >= 10000) { - return Math.floor(val / 10000) + "ms" - } - return Math.floor(val / 1000) + "μs" - }, + humanTime(val) { + if (val >= 10000) { + return Math.floor(val / 10000) + "ms" + } + return Math.floor(val / 1000) + "μs" + }, lastDayOfMonth(month) { return new Date(Date.UTC(new Date().getUTCFullYear(), month + 1, 0)) },