scroll handler: fix loadMoreHeadlines() not being called
This commit is contained in:
parent
8d190d539b
commit
b87b4287b7
|
@ -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) {
|
||||
|
|
|
@ -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]");
|
||||
|
|
Loading…
Reference in New Issue