fix(M02): 나무가 바뀌면 좌측 하위 열 줄도 다시 받음(39-8 H1)

- 새 항목 · 복사 생성 · 붙여넣기 · 지우기 · 이름 · 옮기기 = 나무 onChanged 한 길 — 집계표 다시 열기와 함께 side.refresh(열 줄 · 번호)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
This commit is contained in:
2026-10-04 21:29:58 +09:00
co-authored by Claude Opus 5.5
parent 46f8b7611d
commit 4e1b7cc5ef
2 changed files with 14 additions and 1 deletions
@@ -97,7 +97,10 @@ export async function renderM02MasterTemplate(root: HTMLElement): Promise<Mounte
canEdit: canEdit(layer, isAdmin),
onPick: (item) => 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<void> => {
// 같은 주소 안 이동은 머리 가드가 안 물음 — 저장 안 한 고침은 여기서
+10
View File
@@ -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 한 곳을 거침