chiark / gitweb /
Reorganise docs to include new howto material in intro etc.
[ypp-sc-tools.db-live.git] / yarrg / web / query_age
index 88bc7ea16b73fa686bb30628761a725c4bd242c3..fd2044d97b4463457d88776b71dc0000b45590ea 100644 (file)
@@ -46,31 +46,42 @@ $dbh
 <%perl>
 my $now= time;
 
-my $row;
 my $sth= $dbh->prepare("SELECT archipelago, islandid, islandname, timestamp
                                FROM uploads NATURAL JOIN islands
-                               ORDER BY archipelago, islandid");
+                               ORDER BY archipelago, islandname");
 $sth->execute();
 
 </%perl>
+<div class="results">
 
+<& SELF:pageload &>
+<%method pageload>
 <&| script &>
   da_pageload= Date.now();
 </&script>
+</%method>
 
 <h1>Market data age</h1>
 
-<table id="ts_table">
+<& SELF:agestable, now => $now, fetchrow => sub { $sth->fetchrow_hashref } &>
+
+<%method agestable>
+<%args>
+  $now
+  $fetchrow
+</%args>
+<table class="data" id="ts_table" rules="groups">
 <tr>
 <th>Archipelago
 <th>Island
 <th>Age
-</tr>
+% my $row;
 % my %da_ages;
 % my %ts_sortkeys;
 % $da_ages{'id_loaded'}= 0;
 % my $rowix= 0;
-% while ($row=$sth->fetchrow_hashref) {
+% while ($row= $fetchrow->()) {
+%      print STDERR "$row\n";
 %      my $rowid= "id_$row->{'islandid'}";
 %      my $cellid= "c$rowid";
 %      my $age= $now - $row->{'timestamp'};
@@ -80,61 +91,58 @@ $sth->execute();
 <tr id=<% $rowid %> class="<% 'datarow'.($rowix & 1) %>"
    > <td><% $row->{'archipelago'} |h
   %> <td><% $row->{'islandname'} |h
-  %> <td id="<% $cellid %>"><% prettyprint_age($age) %> </tr>
+  %> <td id="<% $cellid %>" align=right><% prettyprint_age($age) %> </tr>
 %      $rowix++;
 % }
 </table>
+<& SELF:dataages, id2age => \%da_ages,
+       jsprefix => 'dat_', elemidprefix => "'c'+" &>
 
-<& tabsort, table => 'ts_table', rowclass => 'datarow', cols => [
+<&| tabsort, table => 'ts_table', rowclass => 'datarow', cols => [
        {}, {},
        { DoReverse => 1,
          Numeric => 1,
-         SortKey => "da_ages[rowid]" }]
+         SortKey => "dat_ages[rowid]" }]
   &>
-
+  ts_sortkeys= <% to_json_protecttags(\%ts_sortkeys) %>;
+</&tabsort>
 <p>
+% print $m->content();
 Time since this page loaded:
 <span id="cid_loaded">(not known; times above not updating)</span>
 
-<form action="lookup" method="get">
-<input type=submit name=submit value="Reload">
-<& "lookup:formhidden", ours => sub { 0; } &>
-</form>
+</%method>
 
 <%method dataages>
 <%args>
   $id2age
   $elemidprefix => ''
+  $jsprefix => 'da_'
 </%args>
 <&| script &>
-  da_ages= <% to_json_protecttags($id2age) %>;
-  function da_Refresh() {
+  function <% $jsprefix %>Refresh() {
     var now= Date.now();
     debug('updating now='+now);
-    for (var ageid in da_ages) {
-      var oldage= da_ages[ageid];
+    for (var ageid in <% $jsprefix %>ages) {
+      var oldage= <% $jsprefix %>ages[ageid];
       var el= document.getElementById(<% $elemidprefix %>ageid);
       var age= oldage + (now - da_pageload) / 1000;
       var newhtml= <% meta_prettyprint_age('age','Math.floor','+') %>;
       el.innerHTML= newhtml;
     }
   }
-  window.setInterval(da_Refresh, 10000);
+  <% $jsprefix %>ages= <% to_json_protecttags($id2age) %>;
+  window.setInterval(<% $jsprefix %>Refresh, 10000);
+  register_onload(<% $jsprefix %>Refresh);
 </&>
 </%method>
 
-<& SELF:dataages, id2age => \%da_ages, elemidprefix => "'c'+" &>
-
-<&| script &>
-  ts_sortkeys= <% to_json_protecttags(\%ts_sortkeys) %>;
-
-  function all_onload() {
-    ts_onload__ts_table();
-    da_Refresh();
-  }
-  window.onload= all_onload;
-</&script>
+<form action="lookup" method="get">
+<input type=submit name=submit value="Reload">
+<& "lookup:formhidden", ours => sub { 0; } &>
+</form>
 
+</div>
 <%init>
 use POSIX;
 use CommodsWeb;