From ac001830960977dd7146be1262604faf5d1b8e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Sat, 7 Mar 2026 08:44:54 +0800 Subject: [PATCH] Initialize nodePositions structure before nested access Co-Authored-By: Claude Opus 4.6 --- src/stores/cytoscapeStore.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/stores/cytoscapeStore.ts b/src/stores/cytoscapeStore.ts index 5cc59b8..f9fc2c2 100644 --- a/src/stores/cytoscapeStore.ts +++ b/src/stores/cytoscapeStore.ts @@ -45,6 +45,12 @@ export const useCytoscapeStore = defineStore('cytoscapeStore', { * @param {string} direction - Layout direction ('TB' or 'LR'). */ saveNodePosition(nodeId: string, position: Position, direction: string) { + if (!this.nodePositions[this.currentGraphId]) { + this.nodePositions[this.currentGraphId] = {}; + } + if (!this.nodePositions[this.currentGraphId][direction]) { + this.nodePositions[this.currentGraphId][direction] = []; + } // 若是資訊曾經存在這張圖於localStorage中 if (localStorage.getItem(SAVE_KEY_NAME)) { const nodeToSave = this.nodePositions[this.currentGraphId][direction] @@ -56,7 +62,6 @@ export const useCytoscapeStore = defineStore('cytoscapeStore', { .push({ id: nodeId, position: position }); } } else { - this.nodePositions[this.currentGraphId][direction] = []; this.nodePositions[this.currentGraphId][direction] .push({ id: nodeId, position: position }); localStorage.setItem(SAVE_KEY_NAME, JSON.stringify(this.nodePositions));