$lossperleague => '';
$capitalstring => '';
$distance => '';
+$prselector
+$someresults
$emsgokorprint
+$allargs
</%args>
<%perl>
This feature is not available from the "drop down menus" interface.
% } else {
+% $prselector->('RouteSearchType');
+
<form action="<% $quri->() |h %>" method="get">
<& enter_route, qa=>$qa, dbh=>$dbh, emsg_r=>\$emsg, warningfs_r=>\@warningfs,
</&>
</&>
-<input type=submit name=submit value="Go">
+<input type=submit name=submit value="Search">
% my $ours= sub { $_[0] =~ m/^lossperleague|^islandstring|^capitalstring|^capacitystring|^distance/; };
<& "lookup:formhidden", ours => $ours &>
$emsgokorprint->($emsg) or return;
@islandids or return;
+$allargs->{'submit'} or return;
defined $routeparams->{MaxMass} or defined $routeparams->{MaxVolume} or return;
#---------- prepare island names ----------
push @rsargs, defined $routeparams->{LossPerLeaguePct}
? $routeparams->{LossPerLeaguePct}*0.01 : 1e-9;
push @rsargs, '0';
-push @rsargs, 'search',$maxdist, $maxcountea,$maxcountea, 'any', @islandids;
+push @rsargs, 'search',$maxdist, $maxcountea,$maxcountea;
+push @rsargs, $ARGS{RouteSearchType} ? 'circ' : 'any';
+push @rsargs, @islandids;
m/[^-.0-9a-zA-Z]/ and die "$_ $& ?" foreach @rsargs;
}
unshift @rsargs,
- sourcebasedir().'/yarrg/routesearch',
+ 'nice', sourcebasedir().'/yarrg/routesearch',
'-d', dbw_filename($qa->{'Ocean'}),
'-C', webdatadir().'/_concur.', '.lock';
delete $linkqf{'query'};
$linkqf{'routestring'}= join ', ', @fi;
$item->{Url}= $quri->(%linkqf);
+ $item->{ArchesString}= join ', ', @a;
+ $item->{ViasString}= join ' ', map { $_.',' } @{ $item->{Vias} };
+ $item->{RouteSortString}= join ', ', @i;
$results{$ap}{$isles}= $item;
}
return;
}
+$someresults->();
+
</%perl>
% foreach my $ap (qw(A P)) {
% if ($ap eq 'A') {
% } else {
<h2>Best routes for profit per league</h2>
% }
-<table rules=groups>
+<table rules=groups id="ap<% $ap %>_table">
<colgroup span=2>
<colgroup span=1>
<colgroup span=1>
<colgroup span=3>
-<tbody>
<tr>
<th colspan=2>Profit
<th>Dist.
<th>Archipelagoes
-<th colspan=3>Route
+<th>
+<th>Route
+<th>
<tr>
<th>Abs.
<th>Per.lg.
<th>
-<th>
+<th>(link to plan)
<th>Start
<th>Via
<th>Finish
-<tbody>
+<tr>
+<tr id="ap<% $ap %>_sortrow"><th><th><th><th><th><th><th>
% my $datarow=0;
+% my %sortkeys;
% foreach my $isles (sort {
% $results{$ap}{$b}{$ap} <=>
% $results{$ap}{$a}{$ap}
% } keys %{$results{$ap}}) {
% my $item= $results{$ap}{$isles};
-<tr class="datarow<% $datarow %>">
+% my $ci=0;
+% my $rowid= "r${ap}$isles"; $rowid =~ y/ /_/;
+% foreach my $k (qw(A P Leagues ArchesString
+% Start RouteSortString Finish)) {
+% $sortkeys{$ci}{$rowid}= $item->{$k};
+% $ci++;
+% }
+<tr class="datarow<% $datarow %>" id="<% $rowid %>">
<td align=right><% $item->{A} |h %>
<td align=right><% $item->{P} |h %>
<td align=right><% $item->{Leagues} |h %>
-<td align=left><a href="<% $item->{Url} |h %>"><% join ', ', @{ $item->{Archs} } |h %></a>
+<td align=left><a href="<% $item->{Url} |h %>"><%
+ $item->{ArchesString} |h %></a>
<td align=left><% $item->{Start} |h %>,
-<td align=left><% join ' ', map { $_.',' } @{ $item->{Vias} } |h %>
+<td align=left><% $item->{ViasString} |h %>
<td align=left><% $item->{Finish} |h %>
</td>
% $datarow ^= 1;
% } # $isles
</table>
+<&| tabsort, table => "ap${ap}_table", sortkeys => "ap${ap}_sortkeys",
+ throw => "ap${ap}_sortrow", rowclass => "datarow", cols => [
+ { DoReverse => 1, Numeric => 1 },
+ { DoReverse => 1, Numeric => 1 },
+ { DoReverse => 1, Numeric => 1 },
+ { },
+ { },
+ { },
+ { },
+ ] &>
+ ap<% $ap %>_sortkeys= <% to_json_protecttags(\%sortkeys) %>;
+</&tabsort>
% } # $ap
<p>