mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
Mark Smith ([staff profile] mark) wrote in [site community profile] changelog2009-07-13 03:30 am

[dw-free] comment notifs not marked 'read' in inbox when acted upon

[commit: http://hg.dwscoalition.org/dw-free/rev/14d55325e78b]

http://bugs.dwscoalition.org/show_bug.cgi?id=1284

Mark inbox items as read when you interact with them.

Patch by [personal profile] kareila.

Files modified:
  • htdocs/js/esn_inbox.js
--------------------------------------------------------------------------------
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) {
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org