summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-05-04 22:58:19 -0700
committerAndrew Dolgov <[email protected]>2013-05-04 22:58:19 -0700
commitda3077d1b10571f8c10d548071a0c4171dd90485 (patch)
treeb4a7db820a56d54fe14e6a652a4e4e514db262f5
parent2a3e8d7f3449c372d79ec525c251e0eeb791e170 (diff)
parent96a78914e204326b789e4dec92d60bb1db5047b9 (diff)
Merge pull request #178 from dzaikos/master
Modified the behaviour of catchup_visible_articles() in digest mode.
-rw-r--r--plugins/digest/digest.js35
1 files changed, 31 insertions, 4 deletions
diff --git a/plugins/digest/digest.js b/plugins/digest/digest.js
index e3cb1e299..842b1006b 100644
--- a/plugins/digest/digest.js
+++ b/plugins/digest/digest.js
@@ -46,9 +46,8 @@ function catchup_feed(feed_id, callback) {
}
}
-function get_visible_article_ids() {
+function parse_article_elements_for_ids(elems) {
try {
- var elems = $("headlines-content").getElementsByTagName("LI");
var ids = [];
for (var i = 0; i < elems.length; i++) {
@@ -60,6 +59,28 @@ function get_visible_article_ids() {
return ids;
} catch (e) {
+ exception_error("parse_article_elements_for_ids", e);
+ }
+}
+
+function get_selected_article_ids() {
+ try {
+ var elems = $$('#headlines-content li.selected');
+
+ return parse_article_elements_for_ids(elems);
+
+ } catch (e) {
+ exception_error("get_visible_article_ids", e);
+ }
+}
+
+function get_visible_article_ids() {
+ try {
+ var elems = $("headlines-content").getElementsByTagName("LI");
+
+ return parse_article_elements_for_ids(elems);
+
+ } catch (e) {
exception_error("get_visible_article_ids", e);
}
}
@@ -67,9 +88,15 @@ function get_visible_article_ids() {
function catchup_visible_articles(callback) {
try {
- var ids = get_visible_article_ids();
+ var ids = get_selected_article_ids();
+ if ( 0 == ids.length ) {
+ ids = get_visible_article_ids();
+ ntext = [ "Mark %d displayed article as read?", "Mark %d displayed articles as read?" ];
+ } else {
+ ntext = [ "Mark %d selected article as read?", "Mark %d selected articles as read?" ];
+ }
- if (confirm(ngettext("Mark %d displayed article as read?", "Mark %d displayed articles as read?", ids.length).replace("%d", ids.length))) {
+ if (confirm(ngettext(ntext[0], ntext[1], ids.length).replace("%d", ids.length))) {
var query = "op=rpc&method=catchupSelected" +
"&cmode=0&ids=" + param_escape(ids);