fix(B05·B06): 집계 항목 지정이 폼 검증에 막혀 초안에 안 들어가던 흠 · 저장 전 B05→B06→B05 에서 관 지정이 옛값으로 돌아가던 흠(21-10 흠 2·3)

- 흠 2 고치는 구조물의 집계 항목 지정 · 해제는 필수 옵션 · 측점 검증을 거치지 않고 기록에 바로 반영(commitSummaryOnly) · 관 · 새 항목은 종전 흐름
- 흠 3 배수유역 화면이 들어올 때 세션 초안 관 목록이 있으면 그것으로 세움(초안이 없으면 종전대로 정본)
- 시험 2개 추가(집계 항목 전용 반영 · 초안 우선 진입)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TULoa94ZFL26KU6ZqVpjkF
This commit is contained in:
2026-09-29 13:44:39 +09:00
co-authored by Claude Sonnet 5.5
parent 5cb65dff16
commit 5f43ef8541
5 changed files with 206 additions and 26 deletions
+11 -2
View File
@@ -32,6 +32,7 @@ import {
} from "./B05_Profile_UI_Structures_Panel_Events";
import {
commit as commitInto,
commitSummaryOnly,
emit as emitFrom,
loadForm as loadFormInto,
loadPipeForm as loadPipeFormInto,
@@ -358,6 +359,14 @@ export function createStructuresSection(
});
}
/** 집계 항목 지정 · 해제 반영 — 고치는 구조물이면 폼 검증 없이 기록에 바로, 그 밖은 실시간 반영. */
function commitSummary(): void {
applyingLive = true;
const done = commitSummaryOnly(panelContext);
applyingLive = false;
if (!done) liveCommit();
}
function syncButtons(): void {
primary.textContent =
tempPipeChainage !== null
@@ -478,12 +487,12 @@ export function createStructuresSection(
void openItemPicker({ current: summary.get(), canCopy: true }).then((result) => {
if (result.action === "cancel") return;
summary.set(result.action === "apply" ? result.item : null);
liveCommit();
commitSummary();
});
},
clear: () => {
summary.set(null);
liveCommit();
commitSummary();
},
});
body.insertBefore(field("메모", memoField), actions);