From 0d45014e38003cb92df256a5f15b144ee0e19f7b Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 1 Oct 2026 23:46:37 +0900 Subject: [PATCH] =?UTF-8?q?feat(M01):=20=EC=A0=80=EC=9E=A5=20=EB=92=A4=20?= =?UTF-8?q?=EC=83=88=20=EC=A4=84=EC=9D=80=20=EC=84=9C=EB=B2=84=EA=B0=80=20?= =?UTF-8?q?=EC=A4=80=20=ED=82=A4(added)=EB=A1=9C=20=EC=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt --- M01_MasterData/M01_MasterData_UI_LogicLab.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/M01_MasterData/M01_MasterData_UI_LogicLab.ts b/M01_MasterData/M01_MasterData_UI_LogicLab.ts index caa1bf19c..14210902b 100644 --- a/M01_MasterData/M01_MasterData_UI_LogicLab.ts +++ b/M01_MasterData/M01_MasterData_UI_LogicLab.ts @@ -394,16 +394,16 @@ export async function mountM01LogicLab( } showLoadingOverlay(); try { - await saveFiles([...byFile.values()]); + // 키 없는 새 줄은 서버가 새 키를 줌(added) — 저장 뒤 그 로직을 엶 + const saved = (await saveFiles([...byFile.values()])) as { + added?: { file: string; key: string }[]; + }; const was = opened; - const before = new Set(allLogics.map((x) => x.키)); drafts = {}; await reload(); showToast(tx("Save_Done"), "success"); - const made = - was?.row && !was.row.키 - ? allLogics.find((x) => !before.has(x.키) && x.이름 === was.row?.이름) - : undefined; + const newKey = was?.row && !was.row.키 ? saved.added?.at(-1)?.key : undefined; + const made = newKey ? allLogics.find((x) => x.키 === newKey) : undefined; if (made) await open(logicId(made.구분, made.키), made.구분, made.키); else if (was?.row?.키) await open(logicId(was.sub, was.row.키), was.sub, was.row.키); else show(null);