From e3092d5e9581ff4791c0eda8a4e1c754a3dd7155 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Fri, 22 Mar 2024 11:17:36 +0100 Subject: [PATCH] Continue assuring date range --- .../components/coursebook/Coursebook.vue | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue index d0d0d3086..b8e015c01 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue @@ -322,20 +322,33 @@ export default { return "documentation_" + nearestId.toISODate(); }, + dateRange(date) { + return Interval + .fromDateTimes(date.minus({ days: 3 }), date.plus({ days: 4 })) + .splitBy({ days: 1 }) + .map((ts) => ts.start); + }, // TODO: Improve Add empty but already queried days to docsByDay -> do not query them again // docsByDay: {dt: [dt doc ...] ...} assureDate(date) { - // find missing & fetch missing range - // date +- 5 days ? - const dateRange = Interval - .fromDateTimes(date.minus({ days: 3 }), date.plus({ days: 4 })) - .splitBy({ days: 1 }) - .map((ts) => ts.start); - console.log('assureDate', dateRange.map((ts) => ts.toISODate())); - // look up in docsByDay - // sort missing and ask for first to last - // integrate into docsByDay - + if (!this.knownDate[date]) { + // find missing & fetch missing range + // date +- 5 days ? + const dateRange = Interval + .fromDateTimes(date.minus({ days: 3 }), date.plus({ days: 4 })) + .splitBy({ days: 1 }) + .map((ts) => ts.start); + console.log('assureDate', dateRange.map((ts) => ts.toISODate())); + // look up in docsByDay + console.log('missing', dateRange.map((ts) => this.docsByDay[ts] )); + console.log('missing', dateRange.filter((ts) => !this.docsByDay[ts] )); + // dateRange.forEach((ts) => { this.docsByDay[ts.toISODate()] = 42 }); + console.log('docsByDay', this.docsByDay); + console.log('2024-03-29', this.docsByDay[DateTime.fromISO('2024-03-29')]); + console.log('2024-03-29', dateRange[3], this.docsByDay[dateRange[3]]); + // sort missing and ask for first to last + // integrate into docsByDay + } }, gotoDate(date, scroll) { // show -- GitLab