From b6dd14a968b344217ceb446284d006c73ff0be6d Mon Sep 17 00:00:00 2001 From: Steven Fuchs Date: Thu, 22 Dec 2011 15:56:03 -0500 Subject: [PATCH] clicking on notifications takes note of the current UI state and makes sure that the resulting 'read' state matches the users expectation. --- public/javascripts/widgets/notifications.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/public/javascripts/widgets/notifications.js b/public/javascripts/widgets/notifications.js index fff80b404..f4a873a82 100644 --- a/public/javascripts/widgets/notifications.js +++ b/public/javascripts/widgets/notifications.js @@ -15,11 +15,18 @@ notificationArea: notificationArea }); - $(".stream_element.unread").live("mousedown", function() { - self.decrementCount(); - + $(".stream_element.unread,.stream_element.read").live("mousedown", function() { + if ( $(this).hasClass("unread") ) { + self.decrementCount(); + $(this).removeClass("unread").addClass( "read" ) + } + else { + self.incrementCount(); + $(this).removeClass("read").addClass( "unread" ) + } $.ajax({ - url: "notifications/" + $(this).removeClass("unread").data("guid"), + url: "notifications/" + $(this).data("guid"), + data: { is_unread: $(this).hasClass("unread") }, type: "PUT" }); });