Update local Sones every 5 seconds.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 14 Nov 2010 10:59:51 +0000 (11:59 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 14 Nov 2010 10:59:51 +0000 (11:59 +0100)
src/main/resources/static/javascript/sone.js
src/main/resources/templates/include/head.html

index 361fc53..01c04a1 100644 (file)
@@ -100,17 +100,20 @@ function getTranslation(key, callback) {
  *
  * @param soneId
  *            The ID of the Sone
+ * @param local
+ *            <code>true</code> if the Sone is local, <code>false</code>
+ *            otherwise
  */
-function getSoneStatus(soneId) {
+function getSoneStatus(soneId, local) {
        $.getJSON("ajax/getSoneStatus.ajax", {"sone": soneId}, function(data, textStatus) {
                updateSoneStatus(soneId, data.name, data.status, data.modified, data.lastUpdated);
                /* seconds! */
                updateInterval = 60;
-               if (data.modified || (data.status == "downloading") || (data.status == "inserting")) {
+               if (local || data.modified || (data.status == "downloading") || (data.status == "inserting")) {
                        updateInterval = 5;
                }
                setTimeout(function() {
-                       getSoneStatus(soneId);
+                       getSoneStatus(soneId, local);
                }, updateInterval * 1000);
        });
 }
@@ -157,15 +160,18 @@ var watchedSones = {};
  *
  * @param soneId
  *            The ID of the Sone to watch
+ * @param local
+ *            <code>true</code> if the Sone is local, <code>false</code>
+ *            otherwise
  */
-function watchSone(soneId) {
+function watchSone(soneId, local) {
        if (watchedSones[soneId]) {
                return;
        }
        watchedSones[soneId] = true;
        (function(soneId) {
                setTimeout(function() {
-                       getSoneStatus(soneId);
+                       getSoneStatus(soneId, local);
                }, 5000);
        })(soneId);
 }
index 8061409..858851a 100644 (file)
@@ -18,7 +18,7 @@
                /* these functions are necessary for updating Sone statuses. */
                $(document).ready(function() {
                        $("#sone .sone").each(function() {
-                               watchSone($(this).find(".id").text());
+                               watchSone($(this).find(".id").text(), $(this).hasClass("local"));
                        });
                });
        </script>