// Global ATON import { Controller } from "@hotwired/stimulus" import AppState from "../state.js"; const html = String.raw; const domParser = new DOMParser; export default class extends Controller { static targets = ['trigger', 'layers', 'ontology']; connect() { console.log('#menu controller connected'); } /** * Open settings panel * @param {Event} event */ toggleMenu(event) { ATON.UI.setSidePanelRight(); ATON.UI.showSidePanel({header: 'Menu'}); this.#buildMenuPanel(ATON.UI.elSidePanel); this.#buildLayersMenu(AppState.normalizedNodes, this.layersTarget); } /** * @param {Event} event */ toggleNode(event) { /** * The node's id * @type {string} */ const id = event.params.node; const status = event.target.checked; ATON.getSceneNode(id).toggle(status); AppState.normalizedNodes.find(n => n.id === id).active = status; } /** * Clone a