diff --git a/webgis/js/controllers/menu_controller.js b/webgis/js/controllers/menu_controller.js
index 44b0d4e..e825b12 100644
--- a/webgis/js/controllers/menu_controller.js
+++ b/webgis/js/controllers/menu_controller.js
@@ -1,8 +1,36 @@
import { Controller } from "@hotwired/stimulus"
+import { GisState } from '../state.js';
export default class extends Controller {
static targets = ['list', 'menu', 'icon'];
+ buildMenu() {
+ let ulAnacapri = document.createElement('ul');
+ ulAnacapri.id = 'siti-anacapri-sub';
+ ulAnacapri.className = 'is-hidden';
+
+ console.log(GisState.markers.sites);
+
+ for (let key in GisState.markers.sites) {
+ if (GisState.markers.sites[key].options.municipality === 'Anacapri') {
+ const li = document.createElement('li');
+ li.innerHTML = `
+
+ ${GisState.markers.sites[key].options.label}
+
+ `;
+
+ ulAnacapri.appendChild(li);
+ }
+ }
+
+ console.log(ulAnacapri);
+ }
+
toggleMenu() {
this.menuTarget.classList.toggle('is-hidden');
}
diff --git a/webgis/js/gis.js b/webgis/js/gis.js
index 290c01f..1d24ffc 100644
--- a/webgis/js/gis.js
+++ b/webgis/js/gis.js
@@ -175,7 +175,7 @@ GIS.sites = async function () {
sites.addLayer(marker);
// Populate app state for reuse and avoid window.Sites etc.
// Municipality (Capri, Anacapri) added for reuse in dynamic menu
- marker.options.municipalilty = record.municipalilty;
+ marker.options.municipality = record.municipality;
const markerIndex = `${record.coordinates[0]} ${record.coordinates[1]}`;
GisState.markers.sites[markerIndex] = marker;
}
diff --git a/webgis/js/index.js b/webgis/js/index.js
index bcebcd7..3d2a60e 100644
--- a/webgis/js/index.js
+++ b/webgis/js/index.js
@@ -18,6 +18,10 @@ document.addEventListener('DOMContentLoaded', async () => {
map._container.setAttribute('aria-busy', false);
+ // Trigger Stimulus buildMenu method...
+ const menuEvent = new Event('menu-ready');
+ document.dispatchEvent(menuEvent);
+
GIS.toggleSpherical(map);
UI.addCenterMapControl(map, GIS.CENTER_COORDS, GIS.INIT_ZOOM);