Initialize nodePositions structure before nested access

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 08:44:54 +08:00
parent c602848ad7
commit ac00183096

View File

@@ -45,6 +45,12 @@ export const useCytoscapeStore = defineStore('cytoscapeStore', {
* @param {string} direction - Layout direction ('TB' or 'LR'). * @param {string} direction - Layout direction ('TB' or 'LR').
*/ */
saveNodePosition(nodeId: string, position: Position, direction: string) { 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中 // 若是資訊曾經存在這張圖於localStorage中
if (localStorage.getItem(SAVE_KEY_NAME)) { if (localStorage.getItem(SAVE_KEY_NAME)) {
const nodeToSave = this.nodePositions[this.currentGraphId][direction] const nodeToSave = this.nodePositions[this.currentGraphId][direction]
@@ -56,7 +62,6 @@ export const useCytoscapeStore = defineStore('cytoscapeStore', {
.push({ id: nodeId, position: position }); .push({ id: nodeId, position: position });
} }
} else { } else {
this.nodePositions[this.currentGraphId][direction] = [];
this.nodePositions[this.currentGraphId][direction] this.nodePositions[this.currentGraphId][direction]
.push({ id: nodeId, position: position }); .push({ id: nodeId, position: position });
localStorage.setItem(SAVE_KEY_NAME, JSON.stringify(this.nodePositions)); localStorage.setItem(SAVE_KEY_NAME, JSON.stringify(this.nodePositions));