fix: infinite scroll doesn't work when bound to window
lettucebowler opened this issue · 1 comments
lettucebowler commented
window.scrollHeight is undefined, so it never triggers the update when this action is used on svelte:window. I'm currently working around this using the following patch file with pnpm patch:
index 5a175f44fab9cffb31af5355f2fd4d3200ce2c3b..3e9f6b14b3ffd1fe05d36de386d2eaa8fbfd3caa 100644
--- a/package/actions/infiniteScrollAction/index.js
+++ b/package/actions/infiniteScrollAction/index.js
@@ -78,7 +78,11 @@ function check({ disabled, scrollEventTarget, element, distance, cb, }, force) {
let viewportBottom = viewportScrollTop + getVisibleHeight(scrollEventTarget);
let shouldTrigger = false;
if (scrollEventTarget === element) {
- shouldTrigger = scrollEventTarget.scrollHeight - viewportBottom <= distance;
+ if (scrollEventTarget === window) {
+ shouldTrigger = document.documentElement.scrollHeight - viewportBottom <= distance;
+ } else {
+ shouldTrigger = scrollEventTarget.scrollHeight - viewportBottom <= distance;
+ }
}
else {
let elementBottom = getElementTop(element) -
ankurrsinghal commented
Hi, @lettucebowler I will get back to you on this.