summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-03-29 15:03:48 +0400
committerAndrew Dolgov <[email protected]>2012-03-29 15:03:48 +0400
commit442456184c23b8da36d6f9e0ac098d4a57c17659 (patch)
treee46a74b131cbcc5af6033ce770cc1088084827be /js
parentd4c64ecc77a46c174d64ba6173a92834bbc1f74f (diff)
simplify catching up of feeds, do not reload headlines buffer on catchup unless on_catchup_show_next_feed is enabled (closes #442)
Diffstat (limited to 'js')
-rw-r--r--js/feedlist.js73
-rw-r--r--js/tt-rss.js28
2 files changed, 40 insertions, 61 deletions
diff --git a/js/feedlist.js b/js/feedlist.js
index 271d2059e..7262d6aa3 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -148,39 +148,6 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
_search_query = false;
}
- if (method == "MarkAllRead") {
-
- var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
-
- if (show_next_feed) {
- var nuf = getNextUnreadFeed(feed, is_cat);
-
- if (nuf) {
- var cached_nuf = cache_get("feed:" + nuf + ":false");
-
- if (cached_nuf) {
-
- render_local_headlines(nuf, false, JSON.parse(cached_nuf));
-
- var catchup_query = "?op=rpc&method=catchupFeed&feed_id=" +
- feed + "&is_cat=" + is_cat;
-
- console.log(catchup_query);
-
- new Ajax.Request("backend.php", {
- parameters: catchup_query,
- onComplete: function(transport) {
- handle_rpc_json(transport);
- } });
-
- return;
- } else {
- query += "&nuf=" + param_escape(nuf);
- }
- }
- }
- }
-
if (offset != 0) {
query = query + "&skip=" + offset;
@@ -476,6 +443,26 @@ function getNextUnreadFeed(feed, is_cat) {
}
}
+function catchupCurrentFeed() {
+ return catchupFeed(getActiveFeedId(), activeFeedIsCat());
+}
+
+function catchupFeedInGroup(id) {
+ try {
+
+ var title = getFeedName(id);
+
+ var str = __("Mark all articles in %s as read?").replace("%s", title);
+
+ if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
+ return viewCurrentFeed('MarkAllReadGR:' + id);
+ }
+
+ } catch (e) {
+ exception_error("catchupFeedInGroup", e);
+ }
+}
+
function catchupFeed(feed, is_cat) {
try {
var str = __("Mark all articles in %s as read?");
@@ -496,6 +483,26 @@ function catchupFeed(feed, is_cat) {
parameters: catchup_query,
onComplete: function(transport) {
handle_rpc_json(transport);
+
+ if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) {
+
+ $$("#headlines-frame > div[id*=RROW][class*=Unread]").each(
+ function(child) {
+ child.removeClassName("Unread");
+ }
+ );
+ }
+
+ var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
+
+ if (show_next_feed) {
+ var nuf = getNextUnreadFeed(feed, is_cat);
+
+ if (nuf) {
+ viewfeed(nuf);
+ }
+ }
+
notify("");
} });
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 5804ee501..ef5d72e5b 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -504,34 +504,6 @@ function parse_runtime_info(data) {
}
}
-function catchupCurrentFeed() {
-
- var fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
-
- var str = __("Mark all articles in %s as read?").replace("%s", fn);
-
- if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
- return viewCurrentFeed('MarkAllRead');
- }
-}
-
-function catchupFeedInGroup(id) {
-
- try {
-
- var title = getFeedName(id);
-
- var str = __("Mark all articles in %s as read?").replace("%s", title);
-
- if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
- return viewCurrentFeed('MarkAllReadGR:' + id);
- }
-
- } catch (e) {
- exception_error("catchupFeedInGroup", e);
- }
-}
-
function collapse_feedlist() {
try {