$(document).ready(function () {
$(".inbox-mark-unread").on("ajax:success", function (event, data) {
- $("#inboxanchor").remove();
- $(".user-button").before(data.inboxanchor);
-
- $("#inbox-count").replaceWith(data.inbox_count);
-
- $(this).parents(".inbox-row").removeClass("inbox-row").addClass("inbox-row-unread");
+ updateHtml(data);
+ updateReadState(this, false);
});
$(".inbox-mark-read").on("ajax:success", function (event, data) {
- $("#inboxanchor").remove();
- $(".user-button").before(data.inboxanchor);
+ updateHtml(data);
+ updateReadState(this, true);
+ });
- $("#inbox-count").replaceWith(data.inbox_count);
+ $(".inbox-destroy").on("ajax:success", function (event, data) {
+ updateHtml(data);
- $(this).parents(".inbox-row-unread").removeClass("inbox-row-unread").addClass("inbox-row");
+ $(this).closest("tr").fadeOut(800, "linear", function () {
+ $(this).remove();
+ });
});
- $(".inbox-destroy").on("ajax:success", function (event, data) {
+ function updateHtml(data) {
$("#inboxanchor").remove();
$(".user-button").before(data.inboxanchor);
$("#inbox-count").replaceWith(data.inbox_count);
-
- $(this).parents(".inbox-row, .inbox-row-unread").fadeOut(800, "linear", function () {
- $(this).remove();
- });
- });
+ }
+
+ function updateReadState(target, isRead) {
+ $(target).closest("tr")
+ .toggleClass("inbox-row", isRead)
+ .toggleClass("inbox-row-unread", !isRead)
+ .find(".inbox-mark-unread").prop("hidden", !isRead).end()
+ .find(".inbox-mark-read").prop("hidden", isRead);
+ }
});