aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts')
-rw-r--r--FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts23
1 files changed, 9 insertions, 14 deletions
diff --git a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts b/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts
index 742751eb..42894c20 100644
--- a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts
+++ b/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts
@@ -1,9 +1,8 @@
import React from "react";
let on = false;
-let recordDisabled = false;
-function getScrollPosition(): number {
+export function getReverseScrollPosition(): number {
if (document.documentElement.scrollHeight <= window.innerHeight) {
return 0;
} else {
@@ -15,28 +14,24 @@ function getScrollPosition(): number {
}
}
-let scrollPosition = getScrollPosition();
-
-function scrollToRecordPosition(): void {
+export function scrollToReverseScrollPosition(reversePosition: number): void {
if (document.documentElement.scrollHeight <= window.innerHeight) return;
document.documentElement.scrollTop =
- document.documentElement.scrollHeight - window.innerHeight - scrollPosition;
+ document.documentElement.scrollHeight -
+ window.innerHeight -
+ reversePosition;
}
+let scrollPosition = getReverseScrollPosition();
+
const scrollListener = (): void => {
- if (recordDisabled) return;
- scrollPosition = getScrollPosition();
+ scrollPosition = getReverseScrollPosition();
};
const resizeObserver = new ResizeObserver(() => {
- scrollToRecordPosition();
+ scrollToReverseScrollPosition(scrollPosition);
});
-export function setRecordDisabled(disabled: boolean): void {
- recordDisabled = disabled;
- if (!disabled) scrollToRecordPosition();
-}
-
export default function useReverseScrollPositionRemember(): void {
React.useEffect(() => {
if (on) return;