fix(B06): 고른 것 없이 폼을 만지면 이유를 알린다

좌측 폼의 실시간 반영은 **고른 항목**에만 걸린다. 아무것도 고르지 않은 상태에서
형태·높이를 바꾸면 값이 조용히 버려져 "형태별 모양이 안 그려진다"로 보였다.
패널에 hasSelection()을 열고, B06에서 선택 없이 폼이 바뀌면 안내한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-29 18:37:16 +09:00
co-authored by Claude Opus 5
parent 9268bfe72b
commit c100daabce
2 changed files with 13 additions and 0 deletions
@@ -79,6 +79,9 @@ export interface StructuresSection {
setPipeFacilities: (pipes: PipeFacilityItem[]) => void;
/** 그래프·3D에서 고른 계곡 통과 시설을 목록에서 강조한다(null = 해제). */
selectPipeByChainage: (chainageM: number | null) => void;
/** 지금 폼이 **어떤 항목을 고쳐 쓰는 중**인가 — 선택이 없으면 폼 값은 아무 데도
* 가지 않는다(B06에서 그 상태를 안내하는 데 쓴다, 2026-08-30). */
hasSelection: () => boolean;
/** 종단도·3D에서 고른 구조물을 폼에 올린다. null이면 선택 해제. */
selectById: (structureId: string | null) => void;
/** 종단 그래프 우클릭으로 타입을 지정해 추가한다. */
@@ -928,6 +931,7 @@ export function createStructuresSection(callbacks: StructuresCallbacks): Structu
root,
facility: facilityOptions,
listRoot: list,
hasSelection: () => editingId !== null || selectedPipeChainage !== null,
setTypes(next) {
types = next;
const groups = [...new Set(next.map((t) => t.group))];