Use correct post element.
[Sone.git] / src / main / resources / static / javascript / sone.js
index a860e5a..8a40131 100644 (file)
@@ -299,7 +299,7 @@ function getPostId(element) {
 }
 
 function getPostTime(element) {
-       return getPostElement(element).find(".storage-time").text();
+       return getPostElement(element).find(".post-time").text();
 }
 
 function getReplyElement(element) {
@@ -311,7 +311,7 @@ function getReplyId(element) {
 }
 
 function getReplyTime(element) {
-       return getReplyElement(element).find(".storage-time").text();
+       return getReplyElement(element).find(".reply-time").text();
 }
 
 function likePost(postId) {
@@ -454,6 +454,7 @@ function ajaxifyPost(postElement) {
                postReply(postId, text, function(success, error, replyId) {
                        if (success) {
                                loadNewReply(replyId);
+                               markPostAsKnown(getPostElement(inputField));
                                $("#sone .post#" + postId + " .create-reply").addClass("hidden");
                        } else {
                                alert(error);
@@ -634,7 +635,7 @@ function loadNewReply(replyId) {
                                });
                                newReply = $(data.reply.html).addClass("hidden");
                                if (firstNewerReply != null) {
-                                       newReply.insertAfter(firstNewerReply);
+                                       newReply.insertBefore(firstNewerReply);
                                } else {
                                        if ($(this).find(".replies .create-reply")) {
                                                $(this).find(".replies .create-reply").before(newReply);
@@ -649,6 +650,29 @@ function loadNewReply(replyId) {
        });
 }
 
+function markPostAsKnown(postElements) {
+       $(postElements).each(function() {
+               postElement = this;
+               if ($(postElement).hasClass("new")) {
+                       $.getJSON("ajax/markPostAsKnown.ajax", {"formPassword": getFormPassword(), "post": getPostId(postElement)}, function(data, textStatus) {
+                               $(postElement).removeClass("new");
+                       });
+               }
+       });
+       markReplyAsKnown($(postElements).find(".reply"));
+}
+
+function markReplyAsKnown(replyElements) {
+       $(replyElements).each(function() {
+               replyElement = this;
+               if ($(replyElement).hasClass("new")) {
+                       $.getJSON("ajax/markReplyAsKnown.ajax", {"formPassword": getFormPassword(), "reply": getReplyId(replyElement)}, function(data, textStatus) {
+                               $(replyElement).removeClass("new");
+                       });
+               }
+       });
+}
+
 /**
  * Creates a new notification.
  *