chiark / gitweb /
where-vessels: use icon jk-fan-2.xbm
[ypp-sc-tools.db-test.git] / yarrg / web / lookup
index 8475f689d4bb31b3bc452d5a99eccf163a7895f9..15c52067f45cfeb40d090a8c86e63903f9d83ff2 100755 (executable)
@@ -57,6 +57,8 @@ my %styles;
                Before => 'Query: ',
                Values => [     [ 'route', 'Trades for route' ],
                                [ 'commod', 'Prices for commodity' ],
+                               [ 'offers', 'Offers at location' ],
+                               [ 'routesearch', 'Find profitable route' ],
                                [ 'age', 'Data age' ] ]
        }, {    Name => 'BuySell',
                Before => '',
@@ -74,8 +76,18 @@ my %styles;
                QuerySpecific => 1,
        }, {    Name => 'ShowStalls',
                Before => '',
-               Values => [     [ 0, 'Show amount at each price' ],
+               Values => [     [ 0, 'Show total quantity at each price' ],
                                [ 1, 'Show individual stalls' ],
+                               [ 2, "Also be cautious about stalls'".
+                                       " poe reserves",
+                                       '<a href="docs#poelimit">[?]</a>' ]
+                       ],
+               QuerySpecific => 1,
+       }, {    Name => 'RouteSearchType',
+               Before => 'Type of routes to search for: ',
+               Values => [     [ 0, 'Open-ended' ],
+                               [ 1, 'Circular' ],
+                               [ 2, 'Specific destination' ],
                        ],
                QuerySpecific => 1,
        });
@@ -118,13 +130,32 @@ $ours
 % }
 </%method>
 
-<html><head><title><% ucfirst $ahtml{Query} %> - YARRG</title></head><body>
+<html lang="en"><head><title><% ucfirst $ahtml{Query} %> - YARRG</title>
+<style type="text/css">
+<& style.css &>
+  body { margin: 0; color: #000000; background: #c5c7ae; }
+  div.query { background: #d7d8b3; padding: 1em; }
+  div.results { padding: 1em; }
+  table.data { background: #b5b686; }
+  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
-|
-<a href="docs">documentation</a>
+% if (!printable($m)) {
+<div class="navoptbar">
+<& navbar &>
 <p>
+% }
 <%perl>
 
 foreach my $var (@vars) {
@@ -135,11 +166,14 @@ foreach my $var (@vars) {
 
 foreach my $var (keys %ARGS) {
        next unless $var =~
-               m/^(?: (?:route|commod)string |
+               m/^(?: (?:route|commod|capacity|capital|minprofit
+                        |island|dest)string |
+                       lossperleague | distance |
+                       commodid |
                        islandid \d |
                        archipelago \d |
                        debug |
-                       rtsel[ag]_\w+
+                       [RT]\w+
                    )$/x;
        my $val= $ARGS{$var};
        next if $val eq 'none';
@@ -154,6 +188,7 @@ my $quri= sub {
 
 my $prselector_core= sub {
        my ($var)= @_;
+       return if printable($m);
        my $name= $var->{Name};
        my $lname= lc $var->{Name};
        my $delim= $var->{Before};
@@ -161,7 +196,7 @@ my $prselector_core= sub {
        my $cvalix= 0;
        foreach my $valr (@{ $var->{Values} }) {
                print $delim;  $delim= "\n|\n";
-               my ($value,$html) = @$valr;
+               my ($value,$html,$finally) = @$valr;
                my $iscurrent= &{$var->{CmpCanon}}($value) eq $canon;
                my $after;
                if ($iscurrent) {
@@ -170,6 +205,7 @@ my $prselector_core= sub {
                } else {
                        my %qf= (%baseqf,%queryqf);
                        delete $qf{$lname};
+                       delete $qf{$_} foreach grep { m/^[A-Z]/ } keys %qf;
                        $qf{$lname}= $value if $cvalix;
 </%perl>
 <a href="<% $quri->(%qf) |h %>">
@@ -177,6 +213,7 @@ my $prselector_core= sub {
                        $after= '</a>';
                }
                print $html, $after;
+               print " ", $finally if defined $finally;
                $cvalix++;
        }
        print "<p>\n\n";
@@ -209,7 +246,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>
@@ -217,10 +256,14 @@ my $someresults= sub {
 $debug => 0
 </%args>
 
+% if (!printable($m)) {
+</div>
 <hr>
+% }
 
 <& "query_$styles{Query}", %baseqf, %queryqf, %styles,
     quri => $quri, dbh => $dbh,
+    baseqf => \%baseqf, queryqf => \%queryqf, allargs => \%ARGS,
     prselector => $prselector,
     someresults => $someresults,
     emsgokorprint => sub {
@@ -232,15 +275,14 @@ $debug => 0
     }
  &>
 
-<p>
-
 %#---------- debugging and epilogue ----------
 
 % if ($debug) {
-<p>
+<div class="results">
 <pre id="debug_log">
 Debug log:
 </pre>
+</div>
 % }
 
 <&| script &>