scroll handler: fix loadMoreHeadlines() not being called

master
Andrew Dolgov 6 years ago
parent 8d190d539b
commit b87b4287b7

@ -13,10 +13,6 @@ function resetCounterCache() {
} }
function loadMoreHeadlines() { function loadMoreHeadlines() {
console.log("loadMoreHeadlines");
let offset = 0;
const view_mode = document.forms["main_toolbar_form"].view_mode.value; const view_mode = document.forms["main_toolbar_form"].view_mode.value;
const unread_in_buffer = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length; const unread_in_buffer = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length;
const num_all = $$("#headlines-frame > div[id*=RROW]").length; const num_all = $$("#headlines-frame > div[id*=RROW]").length;
@ -24,27 +20,25 @@ function loadMoreHeadlines() {
// TODO implement marked & published // TODO implement marked & published
if (view_mode == "marked") { let offset = num_all;
console.warn("loadMoreHeadlines: marked is not implemented, falling back.");
offset = num_all; switch (view_mode) {
} else if (view_mode == "published") { case "marked":
console.warn("loadMoreHeadlines: published is not implemented, falling back."); case "published":
offset = num_all; console.warn("loadMoreHeadlines: ", view_mode, "not implemented");
} else if (view_mode == "unread") { break;
case "unread":
offset = unread_in_buffer; offset = unread_in_buffer;
} else if (_search_query) { break;
offset = num_all; case "adaptive":
} else if (view_mode == "adaptive" && !(getActiveFeedId() == -1 && !activeFeedIsCat())) { if (!(getActiveFeedId() == -1 && !activeFeedIsCat()))
// ^ starred feed shows both unread & read articles in adaptive mode
offset = num_unread > 0 ? unread_in_buffer : num_all; offset = num_unread > 0 ? unread_in_buffer : num_all;
} else { break;
offset = num_all;
} }
console.log("offset: " + offset); console.log("loadMoreHeadlines, offset=", offset);
viewfeed({feed: getActiveFeedId(), is_cat: activeFeedIsCat(), offset: offset, infscroll_req: true}); viewfeed({feed: getActiveFeedId(), is_cat: activeFeedIsCat(), offset: offset, infscroll_req: true});
} }
function cleanup_memory(root) { function cleanup_memory(root) {

@ -1117,12 +1117,16 @@ function unpackVisibleHeadlines() {
} }
} }
function headlinesScrollHandler(e) { function headlinesScrollHandler(event) {
try { try {
unpackVisibleHeadlines(); unpackVisibleHeadlines();
if (isCombinedMode()) {
updateFloatingTitle();
// set topmost child in the buffer as active // set topmost child in the buffer as active
if (isCombinedMode() && getInitParam("cdm_expanded") && getInitParam("cdm_auto_catchup") == 1) { if (getInitParam("cdm_expanded") && getInitParam("cdm_auto_catchup") == 1) {
const rows = $$("#headlines-frame > div[id*=RROW]"); const rows = $$("#headlines-frame > div[id*=RROW]");
@ -1138,11 +1142,13 @@ function headlinesScrollHandler(e) {
} }
} }
} }
}
if (!_infscroll_disable) { if (!_infscroll_disable) {
const hsp = $("headlines-spacer"); 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'> " + hsp.innerHTML = "<span class='loading'><img src='images/indicator_tiny.gif'> " +
__("Loading, please wait...") + "</span>"; __("Loading, please wait...") + "</span>";
@ -1153,10 +1159,6 @@ function headlinesScrollHandler(e) {
} }
} }
if (isCombinedMode()) {
updateFloatingTitle();
}
if (getInitParam("cdm_auto_catchup") == 1) { if (getInitParam("cdm_auto_catchup") == 1) {
let rows = $$("#headlines-frame > div[id*=RROW][class*=Unread]"); let rows = $$("#headlines-frame > div[id*=RROW][class*=Unread]");

Loading…
Cancel
Save