Merge pull request #178 from dzaikos/master

Modified the behaviour of catchup_visible_articles() in digest mode.
This commit is contained in:
Andrew Dolgov 2013-05-04 22:58:19 -07:00
commit da3077d1b1
1 changed files with 31 additions and 4 deletions

View File

@ -46,9 +46,8 @@ function catchup_feed(feed_id, callback) {
} }
} }
function get_visible_article_ids() { function parse_article_elements_for_ids(elems) {
try { try {
var elems = $("headlines-content").getElementsByTagName("LI");
var ids = []; var ids = [];
for (var i = 0; i < elems.length; i++) { for (var i = 0; i < elems.length; i++) {
@ -59,6 +58,28 @@ function get_visible_article_ids() {
return 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) { } catch (e) {
exception_error("get_visible_article_ids", e); exception_error("get_visible_article_ids", e);
} }
@ -67,9 +88,15 @@ function get_visible_article_ids() {
function catchup_visible_articles(callback) { function catchup_visible_articles(callback) {
try { 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" + var query = "op=rpc&method=catchupSelected" +
"&cmode=0&ids=" + param_escape(ids); "&cmode=0&ids=" + param_escape(ids);