From c7a7aeb33b0e53c9188f58744892e6f4f03e3906 Mon Sep 17 00:00:00 2001 From: Ben McIntyre Date: Fri, 30 Jun 2023 11:45:53 +1000 Subject: [PATCH] remove debounce on horizonal scroll, fixes #789 --- slick.grid.js | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/slick.grid.js b/slick.grid.js index 0f9cd8bb..d57e57e2 100644 --- a/slick.grid.js +++ b/slick.grid.js @@ -108,7 +108,6 @@ if (typeof Slick === "undefined") { viewportMinWidthPx: undefined, viewportMaxWidthPx: undefined, suppressCssChangesOnHiddenInit: false, - scrollDebounceDelay: -1, // add a scroll delay to avoid screen flickering, -1 to disable delay ffMaxSupportedCssHeight: 6000000, maxSupportedCssHeight: 1000000000, sanitizer: undefined, // sanitize function, built in basic sanitizer is: Slick.RegexSanitizer(dirtyHtml) @@ -4350,34 +4349,31 @@ if (typeof Slick === "undefined") { prevScrollLeft = scrollLeft; // adjust scroll position of all div containers when scrolling the grid - // user can optionally provide "scrollDebounceDelay" grid option if flickering are a problem - utils.debounce(() => { - _viewportScrollContainerX.scrollLeft = scrollLeft; - _headerScrollContainer.scrollLeft = scrollLeft; - _topPanelScrollers[0].scrollLeft = scrollLeft; - if (options.createFooterRow) { - _footerRowScrollContainer.scrollLeft = scrollLeft; - } - if (options.createPreHeaderPanel) { - if (hasFrozenColumns()) { - _preHeaderPanelScrollerR.scrollLeft = scrollLeft; - } else { - _preHeaderPanelScroller.scrollLeft = scrollLeft; - } - } - + _viewportScrollContainerX.scrollLeft = scrollLeft; + _headerScrollContainer.scrollLeft = scrollLeft; + _topPanelScrollers[0].scrollLeft = scrollLeft; + if (options.createFooterRow) { + _footerRowScrollContainer.scrollLeft = scrollLeft; + } + if (options.createPreHeaderPanel) { if (hasFrozenColumns()) { - if (hasFrozenRows) { - _viewportTopR.scrollLeft = scrollLeft; - } - _headerRowScrollerR.scrollLeft = scrollLeft; // right header row scrolling with frozen grid + _preHeaderPanelScrollerR.scrollLeft = scrollLeft; } else { - if (hasFrozenRows) { - _viewportTopL.scrollLeft = scrollLeft; - } - _headerRowScrollerL.scrollLeft = scrollLeft; // left header row scrolling with regular grid + _preHeaderPanelScroller.scrollLeft = scrollLeft; } - }, options.scrollDebounceDelay)(); + } + + if (hasFrozenColumns()) { + if (hasFrozenRows) { + _viewportTopR.scrollLeft = scrollLeft; + } + _headerRowScrollerR.scrollLeft = scrollLeft; // right header row scrolling with frozen grid + } else { + if (hasFrozenRows) { + _viewportTopL.scrollLeft = scrollLeft; + } + _headerRowScrollerL.scrollLeft = scrollLeft; // left header row scrolling with regular grid + } } // autoheight suppresses vertical scrolling, but editors can create a div larger than