diff --git a/aleksis/core/frontend/components/calendar/Calendar.vue b/aleksis/core/frontend/components/calendar/Calendar.vue index d2f5875c48915bb7f7d011a86f6ab72279a6b747..04d64e34cf0ed69cc01b9a9c959f89e8f40f912e 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 + }; } }, },