Only request status for shown Sones.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 13 Jul 2012 07:06:19 +0000 (09:06 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 13 Jul 2012 07:06:19 +0000 (09:06 +0200)
This fixes #283.

src/main/resources/static/javascript/sone.js

index 2063576..49f372f 100644 (file)
@@ -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) {
@@ -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} <code>true</code> if the current page is a “view post”