diff options
author | Andrew Dolgov <[email protected]> | 2013-05-04 22:58:19 -0700 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-05-04 22:58:19 -0700 |
commit | da3077d1b10571f8c10d548071a0c4171dd90485 (patch) | |
tree | b4a7db820a56d54fe14e6a652a4e4e514db262f5 | |
parent | 2a3e8d7f3449c372d79ec525c251e0eeb791e170 (diff) | |
parent | 96a78914e204326b789e4dec92d60bb1db5047b9 (diff) |
Merge pull request #178 from dzaikos/master
Modified the behaviour of catchup_visible_articles() in digest mode.
-rw-r--r-- | plugins/digest/digest.js | 35 |
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); |