diff --git a/src/components/LayerTree.vue b/src/components/LayerTree.vue index dde509e2e..fb91d8818 100644 --- a/src/components/LayerTree.vue +++ b/src/components/LayerTree.vue @@ -32,6 +32,7 @@ interface LayerNode { type: string layoutMode: string visible: boolean + locked: boolean children?: LayerNode[] } @@ -64,6 +65,16 @@ function nodeIcon(node: LayerNode) { const COMPONENT_TYPES = new Set(['COMPONENT', 'COMPONENT_SET', 'INSTANCE']) +function toggleNodeVisibility(id: string) { + const node = store.graph.getNode(id) + if (node) store.updateNode(id, { visible: !node.visible }) +} + +function toggleNodeLock(id: string) { + const node = store.graph.getNode(id) + if (node) store.updateNode(id, { locked: !node.locked }) +} + function buildTree(parentId: string): LayerNode[] { const parent = store.graph.getNode(parentId) if (!parent) return [] @@ -76,6 +87,7 @@ function buildTree(parentId: string): LayerNode[] { type: node.type, layoutMode: node.layoutMode, visible: node.visible, + locked: node.locked, children: node.childIds.length > 0 ? buildTree(node.id) : undefined })) } @@ -365,7 +377,7 @@ function updateDropTarget(ev: PointerEvent) {