diff --git a/packages/ui/src/components/Scroller.svelte b/packages/ui/src/components/Scroller.svelte index 0d2b3b654d..dc3f7ea38d 100644 --- a/packages/ui/src/components/Scroller.svelte +++ b/packages/ui/src/components/Scroller.svelte @@ -453,6 +453,14 @@ ? 'visible' : 'hidden' let scrollY: number = 0 + + let safariScrollJumpfix: boolean = true + export const enableSafariScrollJumpFix = (enable: boolean): void => { + if (enable) { + scrollY = divScroll?.scrollTop ?? 0 + } + safariScrollJumpfix = enable + } @@ -476,24 +484,25 @@ }} class="scroll relative flex-shrink" style:overflow-x={horizontal ? 'auto' : 'hidden'} - on:scroll={(evt) => { + on:scroll={() => { if ($tooltipstore.label !== undefined) closeTooltip() - const newPos = divScroll?.scrollTop ?? 0 // TODO: Workaround: https://front.hc.engineering/workbench/platform/tracker/TSK-760 // In Safari scroll could jump on click, with no particular reason. - - if ( - !scrolling && - !isScrolling && - scrollY !== 0 && - Math.abs(newPos - scrollY) > 100 && - divScroll !== undefined && - isSafari() - ) { - divScroll.scrollTop = scrollY + if (safariScrollJumpfix) { + const newPos = divScroll?.scrollTop ?? 0 + if ( + !scrolling && + !isScrolling && + scrollY !== 0 && + Math.abs(newPos - scrollY) > 100 && + divScroll !== undefined && + isSafari() + ) { + divScroll.scrollTop = scrollY + } + scrollY = divScroll?.scrollTop ?? 0 } - scrollY = divScroll?.scrollTop ?? 0 }} >
{ select(-2, evt.detail) }} + on:collapsed />
diff --git a/plugins/view-resources/src/components/list/ListCategories.svelte b/plugins/view-resources/src/components/list/ListCategories.svelte index 73c4e13694..6536b90f1c 100644 --- a/plugins/view-resources/src/components/list/ListCategories.svelte +++ b/plugins/view-resources/src/components/list/ListCategories.svelte @@ -319,6 +319,7 @@ index: e.detail.index + getInitIndex(categories, i) }) }} + on:collapsed {flatHeaders} {disableHeader} {props} diff --git a/plugins/view-resources/src/components/list/ListCategory.svelte b/plugins/view-resources/src/components/list/ListCategory.svelte index c12b09102d..43f326093f 100644 --- a/plugins/view-resources/src/components/list/ListCategory.svelte +++ b/plugins/view-resources/src/components/list/ListCategory.svelte @@ -390,6 +390,7 @@ $focusStore = { provider: $focusStore.provider } } } + dispatch('collapsed', { div }) } localStorage.setItem(categoryCollapseKey, collapsed ? 'true' : 'false') }} @@ -460,11 +461,6 @@