X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fresources%2Fstatic%2Fjavascript%2Fsone.js;h=3339d18eab3be08d2bbe4a2a14a2121049406f7b;hb=6e9a43ccd93ae125720547c0fe421dc81a54ba90;hp=414dd02d3153ff7529fad43c20e44651e11eb79c;hpb=81ebd8d01efe947d6c2e4f0fe263730c59ff6dca;p=Sone.git
diff --git a/src/main/resources/static/javascript/sone.js b/src/main/resources/static/javascript/sone.js
index 414dd02..3339d18 100644
--- a/src/main/resources/static/javascript/sone.js
+++ b/src/main/resources/static/javascript/sone.js
@@ -1193,7 +1193,7 @@ function checkForRemovedReplies(oldNotification, newNotification) {
}
function getStatus() {
- ajaxGet("getStatus.ajax", isViewSonePage() ? {"soneIds": getShownSoneId() } : {"loadAllSones": isKnownSonesPage()}, function(data, textStatus) {
+ ajaxGet("getStatus.ajax", isViewSonePage() ? {"soneIds": getShownSoneId() } : isKnownSonesPage() ? {"soneIds": getShownSoneIds() } : {}, function(data, textStatus) {
if ((data != null) && data.success) {
/* process Sone information. */
$.each(data.sones, function(index, value) {
@@ -1206,15 +1206,15 @@ function getStatus() {
if (data.notificationHash != getNotificationHash()) {
console.log("Old hash: ", getNotificationHash(), ", new hash: ", data.notificationHash);
requestNotifications();
+ /* process new posts. */
+ $.each(data.newPosts, function(index, value) {
+ loadNewPost(value.id, value.sone, value.recipient, value.time);
+ });
+ /* process new replies. */
+ $.each(data.newReplies, function(index, value) {
+ loadNewReply(value.id, value.sone, value.post, value.postSone);
+ });
}
- /* process new posts. */
- $.each(data.newPosts, function(index, value) {
- loadNewPost(value.id, value.sone, value.recipient, value.time);
- });
- /* process new replies. */
- $.each(data.newReplies, function(index, value) {
- loadNewReply(value.id, value.sone, value.post, value.postSone);
- });
/* do it again in 5 seconds. */
setTimeout(getStatus, 5000);
} else {
@@ -1359,6 +1359,20 @@ function getShownSoneId() {
}
/**
+ * Returns the ID of all currently visible Sones. This is mainly used on the
+ * âKnown Sonesâ page.
+ *
+ * @returns The ID of the currently shown Sones
+ */
+function getShownSoneIds() {
+ var soneIds = new Array();
+ $("#sone #known-sones .sone .id").each(function() {
+ soneIds.push($(this).text());
+ });
+ return soneIds.join(",");
+}
+
+/**
* Returns whether the current page is a âview postâ page.
*
* @returns {Boolean} true
if the current page is a âview postâ
@@ -1515,7 +1529,7 @@ function loadNewReply(replyId, soneId, postId, postSoneId) {
* request
*/
function markSoneAsKnown(soneElement, skipRequest) {
- if ($(soneElement).is(".new")) {
+ if ($(soneElement).hasClass("new")) {
$(soneElement).removeClass("new");
if ((typeof skipRequest == "undefined") || !skipRequest) {
ajaxGet("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "sone", "id": getSoneId(soneElement)});
@@ -1865,6 +1879,14 @@ var currentSoneMenuTimeoutHandler;
$(document).ready(function() {
+ /* rip out the status update textarea. */
+ $("#sone .rip-out").each(function() {
+ var oldElement = $(this);
+ newElement = $("");
+ newElement.attr("class", oldElement.attr("class")).attr("name", oldElement.attr("name"));
+ oldElement.before(newElement).remove();
+ });
+
/* this initializes the status update input field. */
getTranslation("WebInterface.DefaultText.StatusUpdate", function(defaultText) {
registerInputTextareaSwap("#sone #update-status .status-input", defaultText, "text", false, false);