Просмотр исходного кода

Merge pull request #386 from wolfgangasdf/master

After scrolling over all articles, show next feed or category automatically
Andrew Dolgov 10 лет назад
Родитель
Сommit
6cdeaae350
1 измененных файлов с 17 добавлено и 0 удалено
  1. 17 0
      js/viewfeed.js

+ 17 - 0
js/viewfeed.js

@@ -8,6 +8,7 @@ var post_under_pointer = false;
 var last_requested_article = false;
 
 var catchup_id_batch = [];
+var catchup_go_next = false;
 var catchup_timeout_id = false;
 
 var cids_requested = [];
@@ -1328,6 +1329,8 @@ function headlines_scroll_handler(e) {
 			var ts = new Date().getTime();
 			if (ts - _last_headlines_update < 100) return;
 
+			var atend = true;
+
 			$$("#headlines-frame > div[id*=RROW][class*=Unread]").each(
 				function(child) {
 					if (child.hasClassName("Unread") && $("headlines-frame").scrollTop >
@@ -1339,10 +1342,18 @@ function headlines_scroll_handler(e) {
 							catchup_id_batch.push(id);
 
 						//console.log("auto_catchup_batch: " + catchup_id_batch.toString());
+					} else {
+						atend = false;
 					}
 
 				});
 
+			if (atend) {
+				if (getInitParam("on_catchup_show_next_feed") == "1") {
+					catchup_go_next = true;
+				}
+			}
+
 			if (catchup_id_batch.length > 0) {
 				window.clearTimeout(catchup_timeout_id);
 
@@ -1388,6 +1399,12 @@ function catchupBatchedArticles() {
 
 				} });
 		}
+		if (catchup_go_next) {
+			catchup_go_next = false;
+			var is_cat = activeFeedIsCat();
+			var nuf = getNextUnreadFeed(getActiveFeedId(), is_cat);
+			if (nuf) viewfeed(nuf, '', is_cat);
+		}
 
 	} catch (e) {
 		exception_error("catchupBatchedArticles", e);