Fix node status sync error (WIP)
TODO: Use Map object to optimize node lookup
This commit is contained in:
@@ -28,6 +28,9 @@ export default class extends Controller {
|
||||
* @param {Event} event
|
||||
*/
|
||||
toggleNode(event) {
|
||||
|
||||
console.debug(AppState.treeNodes);
|
||||
|
||||
/**
|
||||
* The node's id
|
||||
* @type {string}
|
||||
@@ -60,15 +63,21 @@ export default class extends Controller {
|
||||
*/
|
||||
#toggleGroup(groupNode, status) {
|
||||
for (const child of groupNode.children) {
|
||||
child.active = status;
|
||||
if (child.model) {
|
||||
ATON.getSceneNode(child.id).toggle(status);
|
||||
child.active = status;
|
||||
}
|
||||
if (child.children.length > 0) {
|
||||
this.#toggleGroup(child, status);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Toggles checkboxes in a group based on status
|
||||
* @param {Object} groupNode
|
||||
* @param {Boolean} status
|
||||
* @param {HTMLElement} container
|
||||
*/
|
||||
#syncGroupCheckboxes(groupNode, status, container) {
|
||||
for (const child of groupNode.children) {
|
||||
const checkbox = container.querySelector(
|
||||
|
||||
@@ -8,9 +8,10 @@ initStimulus();
|
||||
|
||||
AppState.currentScene = 'ssgp';
|
||||
const marker = config.markers.find(m => m.id === 'ssgp');
|
||||
AppState.normalizedNodes = normalizeNodes(marker.nodes).flat;
|
||||
AppState.treeNodes = normalizeNodes(marker.nodes).tree;
|
||||
const {flat, tree} = normalizeNodes(marker.nodes);
|
||||
AppState.normalizedNodes = flat;
|
||||
AppState.treeNodes = tree;
|
||||
|
||||
//console.debug(AppState.treeNodes);
|
||||
// TODO: add Map object for lookup optimization
|
||||
|
||||
openScene(marker, AppState.normalizedNodes);
|
||||
|
||||
Reference in New Issue
Block a user