diff --git a/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts b/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts index f53097022..592167476 100644 --- a/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts +++ b/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts @@ -217,6 +217,11 @@ export function showPaper( sl = structural ? M.item.refreshBases(next) : next; redraw(); }; + /** 다이어그램이 부른 바꿈 — 다이어그램이 제 옛 그림으로 한 번 더 그리므로 다음 틱에 다시 그림 */ + const editFromDiagram = (next: SheetLogic): void => { + edit(next, true); + setTimeout(redraw); + }; const name = createInputField({ label: tp("Name"), @@ -242,18 +247,18 @@ export function showPaper( connect: (from: Parameters[1], to: typeof from): string | null => { const got = M.model.connect(sl, from, to); if (got.why) return got.why; - edit(got.sl, true); + editFromDiagram(got.sl); return null; }, - disconnect: (edgeId: string): void => edit(M.model.disconnect(sl, edgeId), true), + disconnect: (edgeId: string): void => editFromDiagram(M.model.disconnect(sl, edgeId)), add: (kind: SlKind): void => { const got = M.model.addNode(sl, kind, kindName(kind)); selected = got.node.id; - edit(got.sl, true); + editFromDiagram(got.sl); }, remove: (nodeId: string): void => { if (selected === nodeId) selected = null; - edit(M.model.removeNode(sl, nodeId), true); + editFromDiagram(M.model.removeNode(sl, nodeId)); }, };