From 35952d714bac0c3f6da102a6050b0f906feaa75e Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Sat, 5 Aug 2023 22:42:06 +0200 Subject: [PATCH] Add polling to calendar --- .../core/frontend/components/calendar/Calendar.vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/aleksis/core/frontend/components/calendar/Calendar.vue b/aleksis/core/frontend/components/calendar/Calendar.vue index d2f5875c4..04d64e34c 100644 --- a/aleksis/core/frontend/components/calendar/Calendar.vue +++ b/aleksis/core/frontend/components/calendar/Calendar.vue @@ -243,8 +243,12 @@ export default { this.$apollo.queries.calendar.setVariables(this.queryVariables); this.$apollo.queries.calendar.skip = false; + this.$apollo.queries.calendar.startPolling(30000); this.fetchedDateRange = { start: extendedStart, end: extendedEnd }; } else if (olderStart || youngerEnd) { + // Stop polling the query with old variables + this.$apollo.queries.calendar.stopPolling(); + // Define newly fetched date range let newStart = olderStart ? extendedStart : this.fetchedDateRange.start; let newEnd = youngerEnd ? extendedEnd : this.fetchedDateRange.end; @@ -281,6 +285,14 @@ export default { }); this.fetchedDateRange = { start: newStart, end: newEnd }; + + // Restart polling the query with newly set variables + this.$apollo.queries.calendar.setVariables(this.queryVariables); + this.$apollo.queries.calendar.startPolling(30000); + this.fetchedDateRange = { + start: this.queryVariables.start, + end: this.queryVariables.end + }; } }, }, -- GitLab