Account for search result groups

This commit is contained in:
2026-06-15 09:48:02 +02:00
parent 9c2c848ca0
commit 9060ff07b5

View File

@@ -80,8 +80,6 @@ export default class extends Controller {
const output = this.resultsTarget; const output = this.resultsTarget;
output.innerHTML = ''; output.innerHTML = '';
console.debug(results);
if (results.count === 0) { if (results.count === 0) {
output.innerHTML = html` output.innerHTML = html`
<p class="has-background-white-bis p-4 mt-0 has-text-centered"> <p class="has-background-white-bis p-4 mt-0 has-text-centered">
@@ -141,22 +139,23 @@ export default class extends Controller {
*/ */
#filterMap(results) { #filterMap(results) {
const map = GisState.map; const map = GisState.map;
const labels = [];
results.sites.forEach(r => labels.push(r.label));
// Remove all layer groups first // Remove all layer groups first
for (const key of Object.keys(GisState.layers)) { for (const key of Object.keys(GisState.layers)) {
map.removeLayer(GisState.layers[key]); map.removeLayer(GisState.layers[key]);
} }
const sites = GisState.markers.sites; const markers = GisState.markers;
for (let key of Object.keys(sites)) { for (let group of Object.keys(results)) {
// If map has layers from previous search results... for (let key of Object.keys(markers[group])) {
map.removeLayer(sites[key]); // If map has layers from previous search results...
for (const label of labels) { map.removeLayer(markers[group][key]);
if (sites[key].options.data.label === label) {
map.addLayer(sites[key]); for (const result of results[group]) {
if (markers[group][key].options.data.label === result.label) {
map.addLayer(markers[group][key]);
}
} }
} }
} }