diff --git a/public/js/composables/EventLoader.js b/public/js/composables/EventLoader.js index 2946fc6ad..ed1c01ee0 100644 --- a/public/js/composables/EventLoader.js +++ b/public/js/composables/EventLoader.js @@ -1,6 +1,6 @@ // TODO(chris): load events that are longer than the interval without doubling it -export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedRange = false, cacheMultiplier = 1) { +export function useEventLoader(rangeInterval, getPromiseFunc) { let loading_id = 0; const events = Vue.ref([]); const loadingEvents = Vue.ref([]); @@ -14,23 +14,6 @@ export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedR return o.push(n), o; }; - const filterEventsOutsideRange = validRange => { - events.value = events.value.filter(event => { - const start = luxon.DateTime.fromISO(event.isostart).ts; - const end = luxon.DateTime.fromISO(event.isoend).ts; - return start <= validRange.end.ts && end >= validRange.start.ts; - }); - - const loadedRanges = []; - for (let i = 0; i < eventsLoaded.length; i += 2) { - const start = Math.max(eventsLoaded[i], validRange.start.ts); - const end = Math.min(eventsLoaded[i + 1], validRange.end.ts); - if (start < end) - loadedRanges.push(start, end); - } - eventsLoaded.splice(0, eventsLoaded.length, ...loadedRanges); - }; - const markEventsLoaded = (start, end) => { let result = []; if (!eventsLoaded.length) { @@ -100,23 +83,6 @@ export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedR // load the rest let rStart = eventsLoaded[index + 1] + 1; result = mergePromiseArr(markEventsLoaded(start.plus(rStart - start.ts), end), result); - } else if ( - Vue.toValue(preserveRequestedRange) - && end.ts < eventsLoaded[index] - ) { - // requested range is entirely inside the gap - // between the previous and next loaded chunks - const touchesPrevious = eventsLoaded[index - 1] + 1 == start.ts; - const touchesNext = end.ts + 1 == eventsLoaded[index]; - - if (touchesPrevious && touchesNext) - eventsLoaded.splice(index - 1, 2); - else if (touchesPrevious) - eventsLoaded[index - 1] = end.ts; - else if (touchesNext) - eventsLoaded[index] = start.ts; - else - eventsLoaded.splice(index, 0, start.ts, end.ts); } else { // extend an existing chunk // and load the rest if necessary @@ -149,13 +115,6 @@ export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedR const range = Vue.toValue(rangeInterval); if (!(range instanceof luxon.Interval)) return; - const cacheSize = Math.max(Vue.toValue(cacheMultiplier), 0); - const cachePadding = Math.round(range.length() * cacheSize); - const validRange = luxon.Interval.fromDateTimes( - range.start.minus(cachePadding ?? 0), - range.end.plus(cachePadding ?? 0) - ); - const promises = markEventsLoaded(range.start, range.end); Promise .allSettled(promises) @@ -169,8 +128,6 @@ export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedR lv.value = res.value.meta.lv; events.value = events.value.concat(res.value.data); - - filterEventsOutsideRange(validRange); loadingEvents.value = []; } }) @@ -189,4 +146,4 @@ export function useEventLoader(rangeInterval, getPromiseFunc, preserveRequestedR } return { events: allEvents, lv, reset } -} +} \ No newline at end of file