chiark / gitweb /
Sort out validation errors in dataage and tidy up
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 14 Aug 2009 14:19:21 +0000 (15:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 14 Aug 2009 14:19:21 +0000 (15:19 +0100)
yarrg/web/dataage

index 6ca9444217e946dcb506b4ef16b4798613fe1170..851e5d8d2308a822b0fcea2a272b5a23f1f18746 100644 (file)
@@ -68,23 +68,7 @@ $sth->execute();
 </%perl>
 
 <&| script &>
-da_pageload= Date.now();
-da_ages= { };
-function da_Refresh() {
-  var now= Date.now();
-  debug('updating now='+now);
-  for (var elid in da_ages) {
-    var el= document.getElementById(elid);
-    var oldage= da_ages[elid];
-    var age= oldage + (now - da_pageload) / 1000;
-    var newhtml= <% $meta_prettyprint_age->('age','Math.floor','+') %>
-% if ($ARGS{debug}) {
-    if (elid == 'daid_loaded')
-      debug('element elid='+elid+' oldage='+oldage+' age='+age+': '+newhtml);
-% }
-    el.innerHTML= newhtml;
-  }
-}
+  da_pageload= Date.now();
 </&script>
 
 <table>
@@ -93,13 +77,15 @@ function da_Refresh() {
 <th>Island
 <th>Age
 </tr>
+% my %da_ages;
+% $da_ages{'daid_loaded'}= 0;
 % while ($row=$sth->fetchrow_hashref) {
 %      my $elid= "daid_$row->{'islandid'}";
 %      my $age= $now - $row->{'timestamp'};
+%      $da_ages{$elid}= $age;
 <tr> <td><% $row->{'archipelago'} |h
  %>  <td><% $row->{'islandname'} |h
  %>  <td id="<% $elid %>"><% $prettyprint_age->($age) %> </tr>
-<&| script &> da_ages['<% $elid %>']= <% $age %>; </&script>
 % }
 </table>
 
@@ -115,9 +101,26 @@ Time since this page loaded:
 </form>
 
 <&| script &>
-da_ages['daid_loaded']= 0;
-window.onload= da_Refresh;
-window.setInterval(da_Refresh, 10000);
+  da_ages= <% to_json_protecttags(\%da_ages) %>;
+
+  function da_Refresh() {
+    var now= Date.now();
+    debug('updating now='+now);
+    for (var elid in da_ages) {
+      var el= document.getElementById(elid);
+      var oldage= da_ages[elid];
+      var age= oldage + (now - da_pageload) / 1000;
+      var newhtml= <% $meta_prettyprint_age->('age','Math.floor','+') %>
+% if ($ARGS{debug}) {
+      if (elid == 'daid_loaded')
+       debug('element elid='+elid+' oldage='+oldage+' age='+age+': '+newhtml);
+% }
+      el.innerHTML= newhtml;
+    }
+  }
+
+  window.onload= da_Refresh;
+  window.setInterval(da_Refresh, 10000);
 </&script>
 
 <%init>