diff --git a/aleksis/core/frontend/components/calendar/Calendar.vue b/aleksis/core/frontend/components/calendar/Calendar.vue index 3baa57dea1f8ca0b2c77dccf7f5fbec29d1b5489..40bfbcd832278f4ab5f435be2a594a14ef45273e 100644 --- a/aleksis/core/frontend/components/calendar/Calendar.vue +++ b/aleksis/core/frontend/components/calendar/Calendar.vue @@ -356,6 +356,17 @@ export default { }, }); }, + refresh() { + // Stop polling the query with old variables + this.$apollo.queries.calendar.stopPolling(); + clearInterval(this.fetchMoreInterval); + + this.fetchMoreCalendarEvents(this.queryVariables.start, this.queryVariables.end); + + this.fetchMoreInterval = setInterval(() => { + this.fetchMoreCalendarEvents(this.queryVariables.start, this.queryVariables.end); + }, 30000); + }, fetch() { this.title = this.$refs.calendar.title; @@ -372,15 +383,7 @@ export default { this.$apollo.queries.calendar.startPolling(30000); this.fetchedDateRanges.push({ start: extendedStart, end: extendedEnd }); } else if (!this.isFullyContained(extendedStart, extendedEnd)) { - // Stop polling the query with old variables - this.$apollo.queries.calendar.stopPolling(); - clearInterval(this.fetchMoreInterval); - - this.fetchMoreCalendarEvents(extendedStart, extendedEnd); - - this.fetchMoreInterval = setInterval(() => { - this.fetchMoreCalendarEvents(extendedStart, extendedEnd); - }, 30000); + this.refresh(); this.fetchedDateRanges.push({ start: extendedStart, end: extendedEnd }); } else {