From 8f44a8b33e68d257a5e4ec2d0a8a48c86e68d04f Mon Sep 17 00:00:00 2001 From: chfhtw Date: Tue, 5 Aug 2025 09:31:20 +0200 Subject: [PATCH] use for-loop instead of reduce to get rid of Firefox ESR 128 Workaround --- public/js/components/Calendar/Base/Grid.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/public/js/components/Calendar/Base/Grid.js b/public/js/components/Calendar/Base/Grid.js index da160ff5c..c232dd955 100644 --- a/public/js/components/Calendar/Base/Grid.js +++ b/public/js/components/Calendar/Base/Grid.js @@ -294,21 +294,13 @@ export default { }, scrollToEarliestEvent() { const eventElements = this.$refs.scroller.querySelectorAll('.fhc-calendar-base-grid-line-event'); - let elements = []; - // Firefox ESR 128 Workaround ArrayIterator Reduce not available - if (typeof eventElements.values().reduce == 'function') - elements = eventElements.values(); - else - elements = [...eventElements.values()]; - - const earliestEventOffset = elements - .reduce((res, el) => { - const top = el.offsetTop; - if (!res[1] || top < res[0]) - return [top, el]; - return res; - }, [0, null]); + let earliestEventOffset = [0, null]; + for (var el of eventElements.values()) { + const top = el.offsetTop; + if (!earliestEventOffset[1] || top < earliestEventOffset[0]) + earliestEventOffset = [top, el]; + } this.userScroll = false; if (earliestEventOffset[1]) {