Commit bfd36e93 authored by Eric Duminil's avatar Eric Duminil
Browse files

Trying to add "select repo" button.

parent 6c9fede7
Showing with 15 additions and 7 deletions
+15 -7
......@@ -70,8 +70,9 @@ public Void call() throws IOException {
new Thread(task).start();
}
public void downloadRegionFromCityGML(String wktPolygon, String project, String csvCitygmls, String srsName)
public void downloadRegionFromCityGMLs(String wktPolygon, String project, String csvCitygmls, String srsName)
throws IOException, ParseException, XPathParseException, NavException {
//NOTE: It doesn't seem possible to pass arrays or list from JS to Java. So csvCitygmls contains names separated by ;
Path[] paths = Stream.of(csvCitygmls.split(";")).map(s -> citygmlPath(project, s)).toArray(Path[]::new);
StringBuilder sb = RegionExtractor.selectRegionDirectlyFromCityGML(wktPolygon, srsName, paths);
......
......@@ -25,6 +25,7 @@
<div id="header">
<ul>
<li class="title">Simstadt Region Chooser</li>
<li class="title" id="repository"><button onclick="regionChooser.selectRepository()">Select repository</button></li>
</ul>
</div>
<div id="map" class="map" tabindex="0"></div>
......
......@@ -227,7 +227,7 @@ var regionChooser = (function(){
dataPanel.append(text + "<br/>\n");
}
publicScope.downloadRegionFromCityGML = function(checkbox_ids) {
publicScope.downloadRegionFromCityGMLs = function(checkbox_ids) {
// TODO: Disable all links
// TODO: DRY
var features = checkbox_ids.map(checkbox_id => {
......@@ -245,7 +245,7 @@ var regionChooser = (function(){
$("html").addClass("wait");
console.log("Selected region is written in " + srsName + " coordinate system.");
try {
fxapp.downloadRegionFromCityGML(sketchAsWKT(srsName), project, citygmlNames.join(";"), srsName);
fxapp.downloadRegionFromCityGMLs(sketchAsWKT(srsName), project, citygmlNames.join(";"), srsName);
dataPanel.append("<h2 class='ok'>Done!</h2><br/>\n");
} catch (e) {
console.log("ERROR : " + e);
......@@ -287,7 +287,7 @@ var regionChooser = (function(){
//TODO: Add selectAll
//TODO: Add selectNone
//TODO: Hide button if empty
dataPanel.append('<button type="button" onclick="regionChooser.clickety_click()" id="download" style="visibility:hidden">Download Region</button>');
dataPanel.append('<button type="button" onclick="regionChooser.downloadFromSelectedCityGMLs()" id="download" style="visibility:hidden">Download Region</button>');
dataPanel.append('<br/>\n');
findIntersections();
}
......@@ -359,7 +359,9 @@ var regionChooser = (function(){
dataPanel.append("You can add a new point to an existing edge by clicking and dragging.<br>\n");
dataPanel.append("You can remove a point with SHIFT + clicking.<br>\n");
dataPanel.append("You can cancel drawing with ESC or DEL.<br><br>\n");
dataPanel.append("After drawing a polygon which intersects with a GML file, you can download the corresponding part by clicking on the filename.<br>\n");
dataPanel.append("After drawing a polygon which intersects with at least one GML file,<br>\n");
dataPanel.append("you can download the corresponding part by checking the<br>\n");
dataPanel.append("desired filenames and clicking on 'Download' button.<br>\n");
}
// Executed by JavaFX when whole page is loaded.
......@@ -370,15 +372,19 @@ var regionChooser = (function(){
console.log("READY!");
}
publicScope.clickety_click = function() {
publicScope.downloadFromSelectedCityGMLs = function() {
var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
if (checkedBoxes.length === 0){
console.log("You should select at least one citygml, though.");
} else{
publicScope.downloadRegionFromCityGML(checkedBoxes.map(c => c.id));
publicScope.downloadRegionFromCityGMLs(checkedBoxes.map(c => c.id));
}
}
publicScope.selectRepository = function() {
console.log("Should probably do something");
}
focusOnMap();
//var regionChooser = publicScope; //NOTE: In order to open closure. For debugging
return publicScope;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment