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) {
{{ item.value.name }}
-
+
+
+
+
+
+
+
+
+
+