From dc84e10ba1c0a886bf56d63b7d6d145806d2cc71 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 9 Dec 2018 13:52:21 +0300 Subject: catchupFeedInGroup: overhaul 1. less hacky way to catchup actually unread headlines 2. don't fade rows away because it's inconsistent with different mark-as-read functions 3. fix stuck progress alert --- js/Feeds.js | 33 +++++---------------------------- js/Headlines.js | 2 +- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/js/Feeds.js b/js/Feeds.js index 52c1476f7..76a6f5971 100644 --- a/js/Feeds.js +++ b/js/Feeds.js @@ -480,40 +480,17 @@ define(["dojo/_base/declare"], function (declare) { if (App.getInitParam("confirm_feed_catchup") != 1 || confirm(str)) { - const rows = $$("#headlines-frame > div[id*=RROW][data-orig-feed-id='" + id + "']"); + const rows = $$("#headlines-frame > div[id*=RROW][class*=Unread][data-orig-feed-id='" + id + "']"); if (rows.length > 0) { - rows.each(function (row) { - row.removeClassName("Unread"); - - if (row.getAttribute("data-article-id") != Article.getActive()) { - new Effect.Fade(row, {duration: 0.5}); - } + for (let i = 0; i < rows.length; i++) + Headlines.catchup_id_batch.push(rows[i].getAttribute("data-article-id")); + Headlines.catchupBatched(() => { + Headlines.updateFloatingTitle(true); }); - - const feedTitles = $$("#headlines-frame > div[class='feed-title']"); - - for (let i = 0; i < feedTitles.length; i++) { - if (feedTitles[i].getAttribute("data-feed-id") == id) { - - if (i < feedTitles.length - 1) { - new Effect.Fade(feedTitles[i], {duration: 0.5}); - } - - break; - } - } - - Headlines.updateFloatingTitle(true); } - - Notify.progress("Loading, please wait...", true); - - xhrPost("backend.php", {op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => { - App.handleRpcJson(transport); - }); } }, getUnread: function(feed, is_cat) { diff --git a/js/Headlines.js b/js/Headlines.js index d01c1cb38..20ae3e1a9 100755 --- a/js/Headlines.js +++ b/js/Headlines.js @@ -255,7 +255,7 @@ define(["dojo/_base/declare"], function (declare) { let vgrhdr = `
${hl.feed_icon}
${hl.feed_title} - ${__('mark feed as read')} + check_circle
` const tmp = document.createElement("div"); -- cgit v1.2.3