summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorDave Zaikos <[email protected]>2013-05-03 21:22:16 -0400
committerDave Zaikos <[email protected]>2013-05-03 21:22:16 -0400
commit96a78914e204326b789e4dec92d60bb1db5047b9 (patch)
tree68b0ce9aa3f3d0e4463ddbc71213813b83275235 /plugins
parent3bcf2bf2796c93b2dc29655b58aaa7ca14dddbde (diff)
Modified the behaviour of catchup_visible_articles() in digest mode.
The "Mark as read" option now first checks if articles are selected. If so, it only marks as read the selected articles. If no articles are selected, the previous behaviour is executed: marking all visible articles as read.
Diffstat (limited to 'plugins')
-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);