Prechádzať zdrojové kódy

init_posts(): load more posts on window resize (#5815)

* init_posts(): load more posts on window resize

Fixes:

1. Open FreshRSS in a shorter window
2. Resize to be much longer
3. Half the window remains empty

This is most obviously a problem on vertical monitors.

* Address comments

* blah blah

* typo
Frans de Jonge 2 rokov pred
rodič
commit
ecf1585d74
1 zmenil súbory, kde vykonal 14 pridanie a 11 odobranie
  1. 14 11
      p/scripts/main.js

+ 14 - 11
p/scripts/main.js

@@ -735,20 +735,23 @@ function onScroll() {
 	}
 }
 
+let lastScroll = 0;	// Throttle
+let timerId = 0;
+function debouncedOnScroll() {
+	clearTimeout(timerId);
+	if (lastScroll + 500 < Date.now()) {
+		lastScroll = Date.now();
+		onScroll();
+	} else {
+		timerId = setTimeout(onScroll, 500);
+	}
+}
+
 function init_posts() {
 	if (context.auto_load_more || context.auto_mark_scroll || context.auto_remove_article) {
 		box_to_follow = context.current_view === 'global' ? document.getElementById('panel') : document.scrollingElement;
-		let lastScroll = 0;	// Throttle
-		let timerId = 0;
-		(box_to_follow === document.scrollingElement ? window : box_to_follow).onscroll = function () {
-			clearTimeout(timerId);
-			if (lastScroll + 500 < Date.now()) {
-				lastScroll = Date.now();
-				onScroll();
-			} else {
-				timerId = setTimeout(onScroll, 500);
-			}
-		};
+		(box_to_follow === document.scrollingElement ? window : box_to_follow).onscroll = debouncedOnScroll;
+		window.addEventListener('resize', debouncedOnScroll);
 		onScroll();
 	}