|
|
@ -98,13 +98,15 @@ foreach my $page (values %{$region_query_results->{query}{pages}}) |
|
|
|
$region->{defaults}{colour} = $parsed_template->{named_params}{colour}; |
|
|
|
$region->{defaults}{colour} = $parsed_template->{named_params}{colour}; |
|
|
|
$region->{defaults}{coords_colour} = $parsed_template->{named_params}{coordinates_colour} |
|
|
|
$region->{defaults}{coords_colour} = $parsed_template->{named_params}{coordinates_colour} |
|
|
|
if $parsed_template->{named_params}{coordinates_colour}; |
|
|
|
if $parsed_template->{named_params}{coordinates_colour}; |
|
|
|
#TODO |
|
|
|
if($html_document) |
|
|
|
$region->{popup} = HexGrid::PopUp->new |
|
|
|
{ |
|
|
|
( |
|
|
|
$region->{popup} = HexGrid::PopUp->new |
|
|
|
name => $region->{name}, |
|
|
|
( |
|
|
|
description => "foo", |
|
|
|
name => $region->{name}, |
|
|
|
link => $page->{canonicalurl} |
|
|
|
description => $parsed_template->{named_params}{abstract}, |
|
|
|
); |
|
|
|
link => $page->{canonicalurl} |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
|
if($regiondir) |
|
|
|
if($regiondir) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$regions_by_subregion{$region->{name}} = $region->{name}; |
|
|
|
$regions_by_subregion{$region->{name}} = $region->{name}; |
|
|
@ -138,13 +140,15 @@ foreach my $page (values %{$subregion_query_results->{query}{pages}}) |
|
|
|
$subregion->{defaults}{colour} = $parsed_template->{named_params}{colour}; |
|
|
|
$subregion->{defaults}{colour} = $parsed_template->{named_params}{colour}; |
|
|
|
$subregion->{defaults}{coords_colour} = $parsed_template->{named_params}{coordinates_colour} |
|
|
|
$subregion->{defaults}{coords_colour} = $parsed_template->{named_params}{coordinates_colour} |
|
|
|
if $parsed_template->{named_params}{coordinates_colour}; |
|
|
|
if $parsed_template->{named_params}{coordinates_colour}; |
|
|
|
#TODO |
|
|
|
if($html_document) |
|
|
|
$subregion->{popup} = HexGrid::PopUp->new |
|
|
|
{ |
|
|
|
( |
|
|
|
$subregion->{popup} = HexGrid::PopUp->new |
|
|
|
name => $subregion->{name}, |
|
|
|
( |
|
|
|
description => "foo", |
|
|
|
name => $subregion->{name}, |
|
|
|
link => $page->{canonicalurl} |
|
|
|
description => $parsed_template->{named_params}{abstract}, |
|
|
|
); |
|
|
|
link => $page->{canonicalurl} |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
|
if($regiondir) |
|
|
|
if($regiondir) |
|
|
|
{ |
|
|
|
{ |
|
|
|
my $region_name = $parsed_template->{positional_params}[0]; |
|
|
|
my $region_name = $parsed_template->{positional_params}[0]; |
|
|
@ -468,37 +472,3 @@ if($regiondir) |
|
|
|
close $location_fh; |
|
|
|
close $location_fh; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Puts the rendered SVG inside an html document, |
|
|
|
|
|
|
|
# along with a bit of javascript to show popups for sites and to toggle coordinates visibility |
|
|
|
|
|
|
|
sub wrap_in_html($grid) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
my $html_builder = "<!DOCTYPE html>"; |
|
|
|
|
|
|
|
$html_builder .= "\n<html>\n<body>"; |
|
|
|
|
|
|
|
$html_builder .= "\n" . <<EOS; |
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
function clickPin(pinId, containerId) { |
|
|
|
|
|
|
|
let popup = document.getElementById(pinId + '-popup'); |
|
|
|
|
|
|
|
popup.style.visibility = popup.style.visibility == 'visible' ? 'hidden' : 'visible'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
EOS |
|
|
|
|
|
|
|
if($show_coords) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
$html_builder .= <<EOS; |
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
function toggleCoords(show) { |
|
|
|
|
|
|
|
for (var elem of document.getElementsByClassName('coords')) { |
|
|
|
|
|
|
|
elem.style.visibility = show ? 'visible' : 'hidden'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
<label for="show-coords-checkbox">Show coordinates</label> |
|
|
|
|
|
|
|
<input type="checkbox" checked id="show-coords-checkbox" onclick="toggleCoords(event.srcElement.checked)" /> |
|
|
|
|
|
|
|
EOS |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
$html_builder .= "\n" . $grid->render; |
|
|
|
|
|
|
|
$html_builder .= "\n</body>\n</html>"; |
|
|
|
|
|
|
|
return $html_builder; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|