|
|
@@ -2,9 +2,9 @@ import React, {
|
|
|
useEffect, useCallback, ReactNode, useRef, useState, useMemo, RefObject,
|
|
|
} from 'react';
|
|
|
|
|
|
-import { debounce } from 'throttle-debounce';
|
|
|
-import StickyEvents from 'sticky-events';
|
|
|
import SimpleBar from 'simplebar-react';
|
|
|
+import StickyEvents from 'sticky-events';
|
|
|
+import { debounce } from 'throttle-debounce';
|
|
|
|
|
|
import loggerFactory from '~/utils/logger';
|
|
|
|
|
|
@@ -70,26 +70,26 @@ export const StickyStretchableScroller = (props: StickyStretchableScrollerProps)
|
|
|
|
|
|
const resetScrollbarDebounced = useMemo(() => debounce(100, resetScrollbar), [resetScrollbar]);
|
|
|
|
|
|
- const stickyChangeHandler = useCallback(() => {
|
|
|
- logger.debug('StickyEvents.CHANGE detected');
|
|
|
- resetScrollbarDebounced();
|
|
|
- }, [resetScrollbarDebounced]);
|
|
|
-
|
|
|
- // setup effect by sticky event
|
|
|
- useEffect(() => {
|
|
|
- // sticky
|
|
|
- // See: https://github.com/ryanwalters/sticky-events
|
|
|
- const stickyEvents = new StickyEvents({ stickySelector: stickyElemSelector });
|
|
|
- stickyEvents.enableEvents();
|
|
|
- const { stickySelector } = stickyEvents;
|
|
|
- const elem = document.querySelector(stickySelector);
|
|
|
- elem.addEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
-
|
|
|
- // return clean up handler
|
|
|
- return () => {
|
|
|
- elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
- };
|
|
|
- }, [stickyElemSelector, stickyChangeHandler]);
|
|
|
+ // const stickyChangeHandler = useCallback(() => {
|
|
|
+ // logger.debug('StickyEvents.CHANGE detected');
|
|
|
+ // resetScrollbarDebounced();
|
|
|
+ // }, [resetScrollbarDebounced]);
|
|
|
+
|
|
|
+ // // setup effect by sticky event
|
|
|
+ // useEffect(() => {
|
|
|
+ // // sticky
|
|
|
+ // // See: https://github.com/ryanwalters/sticky-events
|
|
|
+ // const stickyEvents = new StickyEvents({ stickySelector: stickyElemSelector });
|
|
|
+ // stickyEvents.enableEvents();
|
|
|
+ // const { stickySelector } = stickyEvents;
|
|
|
+ // const elem = document.querySelector(stickySelector);
|
|
|
+ // elem.addEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
+
|
|
|
+ // // return clean up handler
|
|
|
+ // return () => {
|
|
|
+ // elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
+ // };
|
|
|
+ // }, [stickyElemSelector, stickyChangeHandler]);
|
|
|
|
|
|
// setup effect by resizing event
|
|
|
useEffect(() => {
|