diff --git a/src/controllers/node_controller.js b/src/controllers/node_controller.js index 161c4b7..b2e9eb9 100644 --- a/src/controllers/node_controller.js +++ b/src/controllers/node_controller.js @@ -45,10 +45,12 @@ export default class extends Controller { * @param {import("../state.js").NormalizedSceneNode} normNode */ addSemanticNode(normNode) { - if (!AppState.semanticNodes.get(normNode.label)) { - createSemanticNode(normNode.model, normNode.label); - AppState.semanticNodes.set(normNode.label, normNode.content); + // First remove any existing sem node + if (AppState.currentSemNodeId) { + ATON.SemFactory.deleteSemanticNode(AppState.currentSemNodeId); } + createSemanticNode(normNode.model, normNode.label); + AppState.currentSemNodeId = normNode.label; } /** diff --git a/src/state.js b/src/state.js index 4f55810..6983e0b 100644 --- a/src/state.js +++ b/src/state.js @@ -28,7 +28,12 @@ let AppState = { */ ontology: {}, treeNodes: {}, + // Redundant?? semanticNodes: new Map, + /** + * @type {String|null} + */ + currentSemNodeId: null, mainNodeId: null, currentScene: null, sceneHasAudio: false, diff --git a/src/utils/aton.js b/src/utils/aton.js index b991a24..87969fa 100644 --- a/src/utils/aton.js +++ b/src/utils/aton.js @@ -22,6 +22,7 @@ export function initAtonEvents() { }); // Triggers on mouse click / tap events + /* ATON.on("Tap", (e) => { let node = ATON.getHoveredSemanticNode(); if (node) { @@ -35,4 +36,5 @@ export function initAtonEvents() { document.dispatchEvent(event); } }); + */ } \ No newline at end of file