summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-12-01 10:19:45 +0300
committerAndrew Dolgov <[email protected]>2018-12-01 10:19:45 +0300
commitb87b4287b720e02f3fd4ffd4b4c8642b92e5c494 (patch)
tree7fa32a0c3f52b978933ab81a9d6a7fc28cccd480 /js
parent8d190d539b8c7aff3a6b2b24f03bdc1db6681b1b (diff)
scroll handler: fix loadMoreHeadlines() not being called
Diffstat (limited to 'js')
-rw-r--r--js/feedlist.js36
-rwxr-xr-xjs/viewfeed.js34
2 files changed, 33 insertions, 37 deletions
diff --git a/js/feedlist.js b/js/feedlist.js
index 8ba13aea8..ec28c67ee 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -13,10 +13,6 @@ function resetCounterCache() {
}
function loadMoreHeadlines() {
- console.log("loadMoreHeadlines");
-
- let offset = 0;
-
const view_mode = document.forms["main_toolbar_form"].view_mode.value;
const unread_in_buffer = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length;
const num_all = $$("#headlines-frame > div[id*=RROW]").length;
@@ -24,27 +20,25 @@ function loadMoreHeadlines() {
// TODO implement marked & published
- if (view_mode == "marked") {
- console.warn("loadMoreHeadlines: marked is not implemented, falling back.");
- offset = num_all;
- } else if (view_mode == "published") {
- console.warn("loadMoreHeadlines: published is not implemented, falling back.");
- offset = num_all;
- } else if (view_mode == "unread") {
- offset = unread_in_buffer;
- } else if (_search_query) {
- offset = num_all;
- } else if (view_mode == "adaptive" && !(getActiveFeedId() == -1 && !activeFeedIsCat())) {
- // ^ starred feed shows both unread & read articles in adaptive mode
- offset = num_unread > 0 ? unread_in_buffer : num_all;
- } else {
- offset = num_all;
+ let offset = num_all;
+
+ switch (view_mode) {
+ case "marked":
+ case "published":
+ console.warn("loadMoreHeadlines: ", view_mode, "not implemented");
+ break;
+ case "unread":
+ offset = unread_in_buffer;
+ break;
+ case "adaptive":
+ if (!(getActiveFeedId() == -1 && !activeFeedIsCat()))
+ offset = num_unread > 0 ? unread_in_buffer : num_all;
+ break;
}
- console.log("offset: " + offset);
+ console.log("loadMoreHeadlines, offset=", offset);
viewfeed({feed: getActiveFeedId(), is_cat: activeFeedIsCat(), offset: offset, infscroll_req: true});
-
}
function cleanup_memory(root) {
diff --git a/js/viewfeed.js b/js/viewfeed.js
index a2aac43d0..d7db88d37 100755
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -1117,32 +1117,38 @@ function unpackVisibleHeadlines() {
}
}
-function headlinesScrollHandler(e) {
+function headlinesScrollHandler(event) {
try {
unpackVisibleHeadlines();
- // set topmost child in the buffer as active
- if (isCombinedMode() && getInitParam("cdm_expanded") && getInitParam("cdm_auto_catchup") == 1) {
- const rows = $$("#headlines-frame > div[id*=RROW]");
+ if (isCombinedMode()) {
+ updateFloatingTitle();
- for (let i = 0; i < rows.length; i++) {
- const row = rows[i];
+ // set topmost child in the buffer as active
+ if (getInitParam("cdm_expanded") && getInitParam("cdm_auto_catchup") == 1) {
- if ($("headlines-frame").scrollTop <= row.offsetTop &&
- row.offsetTop - $("headlines-frame").scrollTop < 100 &&
- row.getAttribute("data-article-id") != getActiveArticleId()) {
+ const rows = $$("#headlines-frame > div[id*=RROW]");
- setActiveArticleId(row.getAttribute("data-article-id"));
- break;
+ for (let i = 0; i < rows.length; i++) {
+ const row = rows[i];
+
+ if ($("headlines-frame").scrollTop <= row.offsetTop &&
+ row.offsetTop - $("headlines-frame").scrollTop < 100 &&
+ row.getAttribute("data-article-id") != getActiveArticleId()) {
+
+ setActiveArticleId(row.getAttribute("data-article-id"));
+ break;
+ }
}
}
}
if (!_infscroll_disable) {
const hsp = $("headlines-spacer");
+ const container = $("headlines-frame");
- if (hsp && hsp.offsetTop - 250 <= e.scrollTop + e.offsetHeight) {
+ if (hsp && hsp.offsetTop - 250 <= container.scrollTop + container.offsetHeight) {
hsp.innerHTML = "<span class='loading'><img src='images/indicator_tiny.gif'> " +
__("Loading, please wait...") + "</span>";
@@ -1153,10 +1159,6 @@ function headlinesScrollHandler(e) {
}
}
- if (isCombinedMode()) {
- updateFloatingTitle();
- }
-
if (getInitParam("cdm_auto_catchup") == 1) {
let rows = $$("#headlines-frame > div[id*=RROW][class*=Unread]");