From 4e1b7cc5ef2c80128b2968de3e8d67a09967e003 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 4 Oct 2026 21:29:58 +0900 Subject: [PATCH] =?UTF-8?q?fix(M02):=20=EB=82=98=EB=AC=B4=EA=B0=80=20?= =?UTF-8?q?=EB=B0=94=EB=80=8C=EB=A9=B4=20=EC=A2=8C=EC=B8=A1=20=ED=95=98?= =?UTF-8?q?=EC=9C=84=20=EC=97=B4=20=EC=A4=84=EB=8F=84=20=EB=8B=A4=EC=8B=9C?= =?UTF-8?q?=20=EB=B0=9B=EC=9D=8C(39-8=20H1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 새 항목 · 복사 생성 · 붙여넣기 · 지우기 · 이름 · 옮기기 = 나무 onChanged 한 길 — 집계표 다시 열기와 함께 side.refresh(열 줄 · 번호) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ --- M02_MasterTemplete/M02_MasterTemplete_UI_Page.ts | 5 ++++- resources/tester/test_m02_labor_tree.py | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/M02_MasterTemplete/M02_MasterTemplete_UI_Page.ts b/M02_MasterTemplete/M02_MasterTemplete_UI_Page.ts index b41320543..cfa2c9eeb 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_UI_Page.ts +++ b/M02_MasterTemplete/M02_MasterTemplete_UI_Page.ts @@ -97,7 +97,10 @@ export async function renderM02MasterTemplate(root: HTMLElement): Promise void main.openTable(layer, item.열), settle: () => main.settle(), - onChanged: (colId) => main.openTable(layer, colId, true), + // 나무가 바뀜(새 항목 · 복사 생성 · 붙여넣기 · 지우기 · 이름 · 옮기기) — 집계표 + 좌측 하위 열 줄 · 번호 + onChanged: async (colId) => { + await Promise.all([main.openTable(layer, colId, true), side.refresh()]); + }, }); const go = async (next: Root, nextOwner: string | null, open: OpenTarget): Promise => { // 같은 주소 안 이동은 머리 가드가 안 물음 — 저장 안 한 고침은 여기서 diff --git a/resources/tester/test_m02_labor_tree.py b/resources/tester/test_m02_labor_tree.py index e77d15a6d..50f51fcad 100644 --- a/resources/tester/test_m02_labor_tree.py +++ b/resources/tester/test_m02_labor_tree.py @@ -53,3 +53,13 @@ def test_층_단추는_구조물_조합_한_벌(): page = _text("M02_MasterTemplete_UI_Page.ts") assert page.count('layerBar("') == 1 # 구조물 조합 줄 아래 하나 assert 'layerBar("구조물조합", tree.add, () => void main.openTable(layer)),' in page + + +def test_나무가_바뀌면_좌측_하위_열_줄도_다시_받음(): + """39-8 H1 — 새 항목 · 복사 생성 · 붙여넣기 · 지우기 · 이름 · 옮기기 = 나무 `apply` → + `onChanged` 한 길 · 집계표만 다시 열면 좌측 하위 줄이 새로고침 전까지 안 따라옴.""" + page = _text("M02_MasterTemplete_UI_Page.ts") + changed = page.split("onChanged: async (colId) => {")[1].split("},")[0] + assert "main.openTable(layer, colId, true)" in changed and "side.refresh()" in changed + panel = _text("M02_MasterTemplete_TreePanel.ts") + assert panel.count("await opt.onChanged(") == 1 # 나무 고침은 모두 apply 한 곳을 거침