From 9060ff07b5f29d0180a064765aac73527332e1c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20P=2E?= Date: Mon, 15 Jun 2026 09:48:02 +0200 Subject: [PATCH] Account for search result groups --- webgis/js/controllers/search_controller.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/webgis/js/controllers/search_controller.js b/webgis/js/controllers/search_controller.js index 1296136..d6813c7 100644 --- a/webgis/js/controllers/search_controller.js +++ b/webgis/js/controllers/search_controller.js @@ -80,8 +80,6 @@ export default class extends Controller { const output = this.resultsTarget; output.innerHTML = ''; - console.debug(results); - if (results.count === 0) { output.innerHTML = html`

@@ -141,22 +139,23 @@ export default class extends Controller { */ #filterMap(results) { const map = GisState.map; - const labels = []; - results.sites.forEach(r => labels.push(r.label)); // Remove all layer groups first for (const key of Object.keys(GisState.layers)) { map.removeLayer(GisState.layers[key]); } - const sites = GisState.markers.sites; + const markers = GisState.markers; - for (let key of Object.keys(sites)) { - // If map has layers from previous search results... - map.removeLayer(sites[key]); - for (const label of labels) { - if (sites[key].options.data.label === label) { - map.addLayer(sites[key]); + for (let group of Object.keys(results)) { + for (let key of Object.keys(markers[group])) { + // If map has layers from previous search results... + map.removeLayer(markers[group][key]); + + for (const result of results[group]) { + if (markers[group][key].options.data.label === result.label) { + map.addLayer(markers[group][key]); + } } } }