X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Fweb%2Fquery_route;h=26b83a58b1308f3a595712ff76d1918bbee46146;hp=8b491d93a99aca47c41b8a77306648c10975acf1;hb=13b9f206d92634f4e6f4a940ed31690c1235d827;hpb=5d41f4f9fd6a3f188bba831a1a8902f7890cef8f diff --git a/yarrg/web/query_route b/yarrg/web/query_route index 8b491d9..26b83a5 100644 --- a/yarrg/web/query_route +++ b/yarrg/web/query_route @@ -47,9 +47,9 @@ $emsgokorprint <%perl> my $emsg; +my @warningfs; my @archipelagoes; my @islandids; -my %islandid2; my ($max_volume, $max_mass); my $lossperleaguepct; my $capital; @@ -69,28 +69,28 @@ my $goupdate= sub { $be_post ? 'Update' : 'Go' };
@@ -137,100 +137,6 @@ Expected losses: -% } else { #---------- dropdowns, user selects from menus ---------- - -% $startform->(grep { -% defined $ARGS{"archipelago$_"} || -% defined $ARGS{"islandid$_"} -% } (0..$qa->{Dropdowns}-1)); - -<%perl> -my ($sth,$row); -my @archlistdata; -my %islandlistdata; -$islandlistdata{'none'}= [ [ "none", "Select island..." ] ]; - -my $optionlistmap= sub { - my ($optlist, $selected) = @_; - my $out=''; - foreach my $entry (@$optlist) { - $out.= sprintf('', - encode_entities($entry->[0]), - defined $selected && $entry->[0] eq $selected - ? 'selected' : '', - encode_entities($entry->[1])); - } - return $out; -}; - -$sth= $dbh->prepare("SELECT DISTINCT archipelago FROM islands - ORDER BY archipelago;"); -$sth->execute(); - -while ($row=$sth->fetchrow_arrayref) { - my ($arch)= @$row; - push @archlistdata, [ $arch, $arch ]; - $islandlistdata{$arch}= [ [ "none", "Whole arch" ] ]; -} - -$sth= $dbh->prepare("SELECT islandid,islandname,archipelago - FROM islands - ORDER BY islandname;"); -$sth->execute(); - -while ($row=$sth->fetchrow_arrayref) { - my $arch= $row->[2]; - push @{ $islandlistdata{'none'} }, [ @$row ]; - push @{ $islandlistdata{$arch} }, [ @$row ]; - $islandid2{$row->[0]}= { Name => $row->[1], Arch => $arch }; -} - -my %resetislandlistdata; -foreach my $arch (keys %islandlistdata) { - $resetislandlistdata{$arch}= - $optionlistmap->($islandlistdata{$arch}, ''); -} - -%perl> - -<&| script &> -ms_lists= <% to_json_protecttags(\%resetislandlistdata) %>; -function ms_Setarch(dd) { - debug('ms_SetArch '+dd+' arch='+arch); - var arch= document.getElementsByName('archipelago'+dd).item(0).value; - var got= ms_lists[arch]; - if (got == undefined) return; // unknown arch ? hrm - debug('ms_SetArch '+dd+' arch='+arch+' got ok'); - var select= document.getElementsByName('islandid'+dd).item(0); - select.innerHTML= got; - debug('ms_SetArch '+dd+' arch='+arch+' innerHTML set'); -} -&script> - -
- | -% } -
- | -% } -