diff options
-rw-r--r-- | functions.php | 4 | ||||
-rw-r--r-- | viewfeed.js | 39 |
2 files changed, 43 insertions, 0 deletions
diff --git a/functions.php b/functions.php index e245d53fd..3c21eda84 100644 --- a/functions.php +++ b/functions.php @@ -3918,6 +3918,7 @@ $sel_all_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, '', true)"; $sel_unread_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, 'Unread', true)"; $sel_none_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false)"; + $sel_inv_link = "javascript:invertHeadlineSelection()"; $tog_unread_link = "javascript:selectionToggleUnread()"; $tog_marked_link = "javascript:selectionToggleMarked()"; @@ -3929,6 +3930,8 @@ $sel_unread_link = "javascript:cdmSelectArticles('unread')"; $sel_none_link = "javascript:cdmSelectArticles('none')"; + $sel_inv_link = "javascript:invertHeadlineSelection()"; + $tog_unread_link = "javascript:selectionToggleUnread(true)"; $tog_marked_link = "javascript:selectionToggleMarked(true)"; $tog_published_link = "javascript:selectionTogglePublished(true)"; @@ -3945,6 +3948,7 @@ ".__('Select:')." <a href=\"$sel_all_link\">".__('All')."</a>, <a href=\"$sel_unread_link\">".__('Unread')."</a>, + <a href=\"$sel_inv_link\">".__('Invert')."</a>, <a href=\"$sel_none_link\">".__('None')."</a></li> <li class=\"vsep\"> </li> <li class=\"top\">".__('Actions...')."<ul> diff --git a/viewfeed.js b/viewfeed.js index 4ee06e461..e14911a2c 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -1850,6 +1850,45 @@ function hideReadHeadlines() { } } +function invertHeadlineSelection() { + try { + var rows = new Array(); + var r = false; + + if (!isCdmMode()) { + r = document.getElementsByTagName("TR"); + } else { + r = document.getElementsByTagName("DIV"); + } + + for (var i = 0; i < r.length; i++) { + if (r[i].id && r[i].id.match("RROW-")) { + rows.push(r[i]); + } + } + + for (var i = 0; i < rows.length; i++) { + var nc = rows[i].className; + var id = rows[i].id.replace("RROW-", ""); + var cb = document.getElementById("RCHK-" + id); + + if (!rows[i].className.match("Selected")) { + nc = nc + "Selected"; + cb.checked = true; + } else { + nc = nc.replace("Selected", ""); + cb.checked = false; + } + + rows[i].className = nc; + + } + + } catch (e) { + exception_error("invertHeadlineSelection", e); + } +} + function getArticleUnderPointer() { return post_under_pointer; } |