% my %da_ages;
% my %ts_sortkeys;
% $da_ages{'id_loaded'}= 0;
+% my $rowix= 0;
% while ($row=$sth->fetchrow_hashref) {
% my $rowid= "id_$row->{'islandid'}";
% my $cellid= "c$rowid";
% $ts_sortkeys{'0'}{$rowid}= $row->{'archipelago'};
% $ts_sortkeys{'1'}{$rowid}= $row->{'islandname'};
% $da_ages{$rowid}= $age;
-<tr id=<% $rowid %>
+<tr id=<% $rowid %> class="<% 'datarow'.($rowix & 1) %>"
> <td><% $row->{'archipelago'} |h
%> <td><% $row->{'islandname'} |h
%> <td id="<% $cellid %>"><% prettyprint_age($age) %> </tr>
+% $rowix++;
% }
</table>
-<& tabsort, table => 'ts_table', cols => [
+<& SELF:dataages, id2age => \%da_ages, elemidprefix => "'c'+" &>
+<%method dataages>
+<%args>
+ $id2age
+ $elemidprefix => ''
+</%args>
+<&| script &>
+ function da_Refresh() {
+ var now= Date.now();
+ debug('updating now='+now);
+ for (var ageid in da_ages) {
+ var oldage= da_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);
+</&>
+</%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:
<& "lookup:formhidden", ours => sub { 0; } &>
</form>
-<&| script &>
- ts_sortkeys= <% to_json_protecttags(\%ts_sortkeys) %>;
- da_ages= <% to_json_protecttags(\%da_ages) %>;
-
- function da_Refresh() {
- var now= Date.now();
- debug('updating now='+now);
- for (var rowid in da_ages) {
- var oldage= da_ages[rowid];
- var cellid= 'c'+rowid;
- var el= document.getElementById(cellid);
- var age= oldage + (now - da_pageload) / 1000;
- var newhtml= <% meta_prettyprint_age('age','Math.floor','+') %>;
-% if ($ARGS{debug}) {
- if (cellid == 'cid_loaded')
- debug('element rowid='+rowid+' cellid='+cellid
- +' oldage='+oldage+' age='+age+': '+newhtml);
-% }
- el.innerHTML= newhtml;
- }
- }
-
- function all_onload() {
- ts_onload__ts_table();
- da_Refresh();
- }
- window.onload= all_onload;
- window.setInterval(da_Refresh, 10000);
-</&script>
-
<%init>
use POSIX;
use CommodsWeb;