summaryrefslogtreecommitdiff
path: root/viewfeed.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-11 13:37:03 +0300
committerAndrew Dolgov <[email protected]>2010-11-11 13:37:03 +0300
commit1ede58149d1fc7929a1daa8c37ee843398dc8e99 (patch)
tree15fa3f30a50588567ab07e1bb0755b8190378fb4 /viewfeed.js
parent73d1378f62bc13025ed39518bd25e7c1d3198e4b (diff)
allow selecting multiple headlines/articles by ctrl-click; change click handling on CDM article content
Diffstat (limited to 'viewfeed.js')
-rw-r--r--viewfeed.js90
1 files changed, 86 insertions, 4 deletions
diff --git a/viewfeed.js b/viewfeed.js
index 0551de9ae..dbc166c73 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -2386,7 +2386,7 @@ function emailArticleDo() {
}
}
-function cdmDismissArticle(id) {
+function dismissArticle(id) {
try {
var elem = $("RROW-" + id);
@@ -2395,11 +2395,11 @@ function cdmDismissArticle(id) {
new Effect.Fade(elem, {duration : 0.5});
} catch (e) {
- exception_error("cdmDismissArticle", e);
+ exception_error("dismissArticle", e);
}
}
-function cdmDismissSelectedArticles() {
+function dismissSelectedArticles() {
try {
var ids = getSelectedArticleIds2();
@@ -2413,6 +2413,88 @@ function cdmDismissSelectedArticles() {
selectionToggleUnread(false);
} catch (e) {
- exception_error("cdmDismissArticle", e);
+ exception_error("dismissSelectedArticles", e);
}
}
+
+function dismissReadArticles() {
+ try {
+
+ var ids = getVisibleArticleIds();
+
+ for (var i = 0; i < ids.length; i++) {
+ var elem = $("RROW-" + ids[i]);
+
+ if (elem.className && !elem.className.match("Unread") &&
+ !elem.className.match("Selected")) {
+
+ new Effect.Fade(elem, {duration : 0.5});
+ }
+ }
+
+ } catch (e) {
+ exception_error("dismissSelectedArticles", e);
+ }
+}
+
+function getVisibleArticleIds() {
+ try {
+ if (isCdmMode()) {
+ return cdmGetVisibleArticles();
+ } else {
+ return getVisibleHeadlineIds();
+ }
+ } catch (e) {
+ exception_error("getVisibleArticleIds");
+ }
+}
+
+function cdmClicked(event, id) {
+ try {
+ var shift_key = event.shiftKey;
+
+ if (!event.ctrlKey) {
+ cdmSelectArticles("none");
+ toggleSelected(id);
+
+ var elem = $("RROW-" + id);
+
+ if (elem)
+ elem.className = elem.className.replace("Unread", "");
+
+ var query = "?op=rpc&subop=catchupSelected" +
+ "&cmode=0&ids=" + param_escape(id);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ handle_rpc_reply(transport);
+ } });
+
+ } else {
+ toggleSelected(id);
+ }
+
+ } catch (e) {
+ exception_error("cdmClicked");
+ }
+
+ return false;
+}
+
+function hlClicked(event, id) {
+ try {
+ var shift_key = event.shiftKey;
+
+ if (!event.ctrlKey) {
+ view(id);
+ } else {
+ toggleSelected(id);
+ }
+
+ } catch (e) {
+ exception_error("hlClicked");
+ }
+
+ return false;
+}