<%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'};
<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 => [
+ {}, {},
+ { DoReverse => 1,
+ Numeric => 1,
+ 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>
+
+</%method>
-<& SELF:dataages, id2age => \%da_ages, elemidprefix => "'c'+" &>
<%method dataages>
<%args>
$id2age
$elemidprefix => ''
+ $jsprefix => 'da_'
</%args>
<&| script &>
- 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;
}
}
- da_ages= <% to_json_protecttags($id2age) %>;
- window.setInterval(da_Refresh, 10000);
- register_onload(da_Refresh);
+ <% $jsprefix %>ages= <% to_json_protecttags($id2age) %>;
+ window.setInterval(<% $jsprefix %>Refresh, 10000);
+ register_onload(<% $jsprefix %>Refresh);
</&>
</%method>
-<&| tabsort, table => 'ts_table', rowclass => 'datarow', cols => [
- {}, {},
- { DoReverse => 1,
- Numeric => 1,
- SortKey => "da_ages[rowid]" }]
- &>
- ts_sortkeys= <% to_json_protecttags(\%ts_sortkeys) %>;
-</&tabsort>
-
-<p>
-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>
+</div>
<%init>
use POSIX;
use CommodsWeb;