feat(M01): 로직 화면에 「새로 만들기」 단추 · 저장 뒤 방식 C 로 열기 · 테스트 컨테이너와 방식 A·B 화면 걷음

- 로직 화면 바의 새로 만들기 단추가 모달을 엶 · 저장·본떠 저장 뒤 새 자체 로직을 흐름 그림으로 바로 엶
- UI_Test* 다섯 파일 삭제 · 왼쪽 「테스트」 줄 제거 · 모달의 까닭 글은 UI_Logic_Text 것을 씀
- 견본 10개 키 목록은 시험(test_m01_test_container)으로 옮김 · 흐름 그림 시험의 옛 파일 이름을 바로잡음

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
2026-09-21 09:57:17 +09:00
co-authored by Claude Sonnet 5
parent e2d3eb5737
commit f458da7f20
12 changed files with 34 additions and 893 deletions
+2 -16
View File
@@ -127,13 +127,8 @@ const LEAF: Group[] = ["환율", "요율"];
/** 거름이 있는 컨테이너 — 펼치면 「전체」(또는 닫기 전 거름) 이 바로 열림 */
const FILTERED: Group[] = ["인력", "기계", "소요량", "계수"];
const LOGIC_ID = "로직|";
const TEST_ID = "테스트|";
export function buildSide(
onOpen: (pick: Pick) => void,
onLogic: () => void,
onTest: () => void,
): SideHandle {
export function buildSide(onOpen: (pick: Pick) => void, onLogic: () => void): SideHandle {
const lists = new Map<Group, FileInfo[]>();
const bodies = new Map<Group, HTMLElement>();
const buttons = new Map<string, HTMLElement>();
@@ -408,16 +403,7 @@ export function buildSide(
onLogic();
});
// 테스트 컨테이너 — 눌러 펼치는 목록이 없는 한 줄(환율·요율과 같은 모양)
const test = section(L("M01_GroupTest"), null);
test.classList.add("m01-side__leaf");
buttons.set(TEST_ID, test);
test.querySelector(".ui-collapsible__title")?.addEventListener("click", () => {
setActive(TEST_ID);
onTest();
});
const root = el("div", { className: "m01-side", children: [...groups, logic, test] });
const root = el("div", { className: "m01-side", children: [...groups, logic] });
attachCollapsible(root);
void Promise.all(GROUPS.map(refresh)).catch((error) =>
showToast(error instanceof Error ? error.message : L("M01_LoadFailed"), "error"),