X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2Fweb%2Fquery_age;h=fd2044d97b4463457d88776b71dc0000b45590ea;hp=922e29f0c90031b97e1c485bb6fcb456946f8018;hb=efd685a5df610ffefc545a41be67e2e0d4b69c7c;hpb=c5b3ac45babf8012719dfb7eafd0cfa9d9eddff0 diff --git a/yarrg/web/query_age b/yarrg/web/query_age index 922e29f..fd2044d 100644 --- a/yarrg/web/query_age +++ b/yarrg/web/query_age @@ -33,103 +33,117 @@ + +<%args> +$quri +$dbh + + <%once> -my $meta_prettyprint_age= sub { - my ($age,$floor,$plus) = @_; - return <('$age','floor','.').' - }; -' or die "$@"; <%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(); +
+<& SELF:pageload &> +<%method pageload> <&| script &> da_pageload= Date.now(); +

Market data age

- +<& SELF:agestable, now => $now, fetchrow => sub { $sth->fetchrow_hashref } &> + +<%method agestable> +<%args> + $now + $fetchrow + +
+% my $row; % my %da_ages; -% $da_ages{'daid_loaded'}= 0; -% while ($row=$sth->fetchrow_hashref) { -% my $elid= "daid_$row->{'islandid'}"; +% my %ts_sortkeys; +% $da_ages{'id_loaded'}= 0; +% my $rowix= 0; +% while ($row= $fetchrow->()) { +% print STDERR "$row\n"; +% my $rowid= "id_$row->{'islandid'}"; +% my $cellid= "c$rowid"; % my $age= $now - $row->{'timestamp'}; -% $da_ages{$elid}= $age; - +% $ts_sortkeys{'0'}{$rowid}= $row->{'archipelago'}; +% $ts_sortkeys{'1'}{$rowid}= $row->{'islandname'}; +% $da_ages{$rowid}= $age; + class="<% 'datarow'.($rowix & 1) %>" + > +% $rowix++; % }
Archipelago Island Age -
<% $row->{'archipelago'} |h - %> <% $row->{'islandname'} |h - %> <% $prettyprint_age->($age) %>
<% $row->{'archipelago'} |h + %> <% $row->{'islandname'} |h + %> <% prettyprint_age($age) %>
- +<& 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) %>; +

+% print $m->content(); Time since this page loaded: -(not known; times above not updating) +(not known; times above not updating) -

-% foreach my $a (keys %ARGS) { - -% } - -
+ +<%method dataages> +<%args> + $id2age + $elemidprefix => '' + $jsprefix => 'da_' + <&| script &> - da_ages= <% to_json_protecttags(\%da_ages) %>; - - function da_Refresh() { + function <% $jsprefix %>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]; + 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','+') %> -% if ($ARGS{debug}) { - if (elid == 'daid_loaded') - debug('element elid='+elid+' oldage='+oldage+' age='+age+': '+newhtml); -% } + var newhtml= <% meta_prettyprint_age('age','Math.floor','+') %>; el.innerHTML= newhtml; } } + <% $jsprefix %>ages= <% to_json_protecttags($id2age) %>; + window.setInterval(<% $jsprefix %>Refresh, 10000); + register_onload(<% $jsprefix %>Refresh); + + - window.onload= da_Refresh; - window.setInterval(da_Refresh, 10000); - +
+ +<& "lookup:formhidden", ours => sub { 0; } &> +
+
<%init> use POSIX; use CommodsWeb; -my $dbh= dbw_connect('Midnight'); -<%cleanup> -$dbh->rollback(); -