Mark inbox items as read when you interact with them.
Patch by kareila.
diffs (38 lines):
diff -r f5182f9f9a31 -r 14d55325e78b htdocs/js/esn_inbox.js
--- a/htdocs/js/esn_inbox.js Mon Jul 13 02:41:11 2009 +0000
+++ b/htdocs/js/esn_inbox.js Mon Jul 13 03:30:02 2009 +0000
@@ -10,6 +10,7 @@ DOM.addEventListener(window, "load", fun
ESN_Inbox.initTableSelection(folder);
ESN_Inbox.initContentExpandButtons(folder);
ESN_Inbox.initInboxBtns(folder, cur_folder);
+ ESN_Inbox.initActionLinks(folder);
}
});
@@ -165,6 +166,26 @@ ESN_Inbox.initInboxBtns = function (fold
DOM.addEventListener($(folder + "_MarkAllRead"), "click", function(e) {
ESN_Inbox.markAllRead(e, folder, cur_folder) });
DOM.addEventListener($(folder + "_DeleteAll"), "click", function(e) {
ESN_Inbox.deleteAll(e, folder, cur_folder) });
+};
+
+// set up action links
+ESN_Inbox.initActionLinks = function (folder) {
+ var actions = DOM.getElementsByClassName($(folder), "actions") || [];
+ for (var i=0; i < actions.length; i++) {
+ var links = actions[i].getElementsByTagName("a");
+ for (var j=0; j < links.length; j++) {
+ DOM.addEventListener(links[j], "click", function(e) {
ESN_Inbox.markLinkedItemRead(e, folder) });
+ }
+ }
+};
+
+ESN_Inbox.markLinkedItemRead = function (evt, folder) {
+ Event.stop(evt);
+ var row = DOM.getFirstAncestorByClassName(evt.target, "InboxItem_Row");
+ var qid = row.getAttribute("lj_qid");
+ ESN_Inbox.updateItems('mark_read', evt, folder, qid);
+ window.open(evt.target.href);
+ return false;
};
ESN_Inbox.markRead = function (evt, folder) {
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog