chiark / gitweb /
Ignore size of connected component when assigning labels (some arches have no purchas...
[ypp-sc-tools.db-live.git] / yarrg / web / lookup
index f194fc5d56d2cb3f4a6a2e955dd0b84c3493cfc2..8fb3bb142a077ce644fd37a3efb1be25046f7390 100755 (executable)
@@ -58,6 +58,26 @@ my %styles;
                Values => [     [ 'route', 'Trades for route' ],
                                [ 'commod', 'Prices for commodity' ],
                                [ 'age', 'Data age' ] ]
+       }, {    Name => 'BuySell',
+               Before => '',
+               Values => [     [ 'buy_sell',   'Buy and sell' ],
+                               [ 'sell_buy',   'Sell and buy' ],
+                               [ 'buy',        'Buy offers only' ],
+                               [ 'sell',       'Sell offers only' ],
+                       ],
+               QuerySpecific => 1,
+       }, {    Name => 'ShowBlank',
+               Before => '',
+               Values => [     [ 0, 'Omit islands with no offers' ],
+                               [ 'show', 'Show all islands' ],
+                       ],
+               QuerySpecific => 1,
+       }, {    Name => 'ShowStalls',
+               Before => '',
+               Values => [     [ 0, 'Show total quantity at each price' ],
+                               [ 1, 'Show individual stalls' ],
+                       ],
+               QuerySpecific => 1,
        });
 
 foreach my $var (@vars) {
@@ -98,7 +118,25 @@ $ours
 % }
 </%method>
 
-<html><head><title><% ucfirst $ahtml{Query} %> - YARRG</title></head><body>
+<html><head><title><% ucfirst $ahtml{Query} %> - YARRG</title>
+<style type="text/css">
+body {
+  color: #000000;
+  background: #ffffff;
+}
+tr.datarow0 { background: #ffffff; }
+tr.datarow1 { background: #e3e3e3; }
+</style>
+<&| script &>
+  function register_onload(f) {
+    var previous_onload= window.onload;
+    window.onload= function() {
+      if (previous_onload) previous_onload();
+      f();
+    };
+  }
+</&script>
+</head><body>
 
 <a href="<% $m->current_comp()->name() |u %>">YARRG</a> -
  Yet Another Revenue Research Gatherer
@@ -115,7 +153,13 @@ foreach my $var (@vars) {
 
 foreach my $var (keys %ARGS) {
        next unless $var =~
-               m/^(?:(?:route|commod)string|islandid\d|archipelago\d|debug)$/;
+               m/^(?: (?:route|commod)string |
+                       commodid |
+                       islandid \d |
+                       archipelago \d |
+                       debug |
+                       [RT]\w+
+                   )$/x;
        my $val= $ARGS{$var};
        next if $val eq 'none';
        $queryqf{$var}= $val;
@@ -127,7 +171,8 @@ my $quri= sub {
        $uri->path_query();
 };
 
-foreach my $var (@vars) {
+my $prselector_core= sub {
+       my ($var)= @_;
        my $name= $var->{Name};
        my $lname= lc $var->{Name};
        my $delim= $var->{Before};
@@ -154,6 +199,22 @@ foreach my $var (@vars) {
                $cvalix++;
        }
        print "<p>\n\n";
+};
+
+my $prselector= sub {
+       my ($name)= @_;
+       foreach my $var (@vars) {
+               if ($var->{Name} eq $name) {
+                       $prselector_core->($var);
+                       return;
+               }
+       }
+       die $name;
+};
+
+foreach my $var (@vars) {
+       next if $var->{QuerySpecific};
+       $prselector_core->($var);
 }
 
 #---------- initial checks, startup, main entry form ----------
@@ -167,7 +228,9 @@ my $results_head_done=0;
 my $someresults= sub {
        return if $results_head_done;
        $results_head_done=1;
-       print "\n<h1>Results</h1>\n";
+       my ($h)= @_;
+       $h= 'Results' if !$h;
+       print "\n<h1>$h</h1>\n";
 };
 
 </%perl>
@@ -179,6 +242,7 @@ $debug => 0
 
 <& "query_$styles{Query}", %baseqf, %queryqf, %styles,
     quri => $quri, dbh => $dbh,
+    prselector => $prselector,
     someresults => $someresults,
     emsgokorprint => sub {
        my ($emsg) = @_;