feat(B05): 종단 우클릭 → [추가]까지 끝난 상태 — 필수 빈칸 없는 종류 바로 추가 + 고른 채 · 패널 폄 · 옛 잇기 비움(116-1)

- 패널 addAt(B05 종단 · B06 종단 · 3D 공용) = 새로 놓기(startNew)에서 시작 · 좌측 패널 열고 「구조물 배치」 폄
- 필수 빈칸 없는 종류 = [추가] 대신 누름 + 새 항목 고름(구조물 = 임시 id · A군 = 그 측점 관)
- 필수 빈칸 · 노면공(확인창) · 세월교 · 물넘이포장(월류 높이 = 유량 뒤) = 폼만 · A군 임시 배치 그대로
- 시험 test_116_right_click_add(헬퍼 helper_116_right_click_add.cjs)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
This commit is contained in:
2026-10-08 18:28:51 +09:00
co-authored by Claude Opus 5.5
parent 5f64633df3
commit d87d6eec43
5 changed files with 302 additions and 13 deletions
@@ -36,7 +36,9 @@ export interface StructuresEventContext extends StructuresCommitContext {
optionRow: HTMLElement;
}
export function bindStructuresEvents(ctx: StructuresEventContext): void {
export function bindStructuresEvents(ctx: StructuresEventContext): {
startNew: (group: string, typeId?: string) => void;
} {
/** 새로 놓기(54-32) — 고름 · 측점 · 강조를 풀고 군(· 종류)만 남긴 빈 기본값 폼. */
function startNew(group: string, typeId?: string): void {
ctx.resetForm();
@@ -223,4 +225,5 @@ export function bindStructuresEvents(ctx: StructuresEventContext): void {
});
ctx.memoField.addEventListener("change", () => ctx.liveCommit());
return { startNew }; // 우클릭 추가도 새로 놓기에서 시작(116-1)
}