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

Work in progress. Highlight

parent 6ca6f01d
......@@ -96,6 +96,7 @@ var regionChooser = (function(){
feature["project"] = feature.get("project");
feature["name"] = feature.get("name");
feature["source"] = "CityGML";
feature["originalStyle"] = feature.getStyle();
});
var features = Array.from(kml_source.getFeatures());
......@@ -183,17 +184,23 @@ var regionChooser = (function(){
publicScope.highlightPolygon = function(i) {
var feature = kml_source.getFeatureById(i);
feature.oldStyle = feature.getStyle();
feature.setStyle(polygon_style("#ff44a2", 0.7));
}
publicScope.resetHighlight = function(i) {
var feature = kml_source.getFeatureById(i);
feature.setStyle(feature.oldStyle);
feature.setStyle(feature.originalStyle);
}
publicScope.isDownloadPossible = function(){
kml_source.getFeatures().forEach(f => f.setStyle(f.originalStyle));
//TODO: Dry
var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
var checkbox_ids = checkedBoxes.map(c => c.id);
var features = getCheckedPolygons(checkbox_ids);
features.forEach(f => f.setStyle(polygon_style("#ffff00", 0.8)));
document.getElementById("download_region_button").disabled = (checkedBoxes.length == 0);
}
......@@ -234,11 +241,15 @@ var regionChooser = (function(){
dataPanel.append(text + "<br/>\n");
}
publicScope.downloadRegionFromCityGMLs = function(checkbox_ids) {
var features = checkbox_ids.map(checkbox_id => {
getCheckedPolygons = function(checkbox_ids){
return checkbox_ids.map(checkbox_id => {
var i = Number(checkbox_id.replace("citygml_", ""));
return kml_source.getFeatureById(i);
})
}
publicScope.downloadRegionFromCityGMLs = function(checkbox_ids) {
var features = getCheckedPolygons(checkbox_ids);
var project = features[0].get("project");
var srsName = features[0].get("srsName");
......@@ -393,6 +404,12 @@ var regionChooser = (function(){
document.getElementById("download_region_button").disabled = true;
var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
// CheckBoxes isn't empty, because otherwise the button cannot be clicked.
var checkbox_ids = checkedBoxes.map(c => c.id);
var features = getCheckedPolygons(checkbox_ids);
features.forEach(f => f.setStyle(polygon_style("#ffff00", 0.8)));
publicScope.downloadRegionFromCityGMLs(checkedBoxes.map(c => c.id));
}
......
Markdown is supported
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