fix(structure): B06 목록에서 고른 줄을 다시 눌러 풀면 횡단 카드 선택도 함께 풂(54-8)

- 목록 재클릭 풂 전용 알림 onListRelease 추가 — 폼 리셋·종류 바꿈 등 다른 null 고름 길은 그대로
- B06 은 그 알림에 카드 선택 풂(focusStation(null)) 연결
- 53-2 list 단계에 풂 뒤 카드 선택 0 판정 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
This commit is contained in:
2026-10-06 10:40:46 +09:00
co-authored by Claude Opus 5.5
parent 7854a1020b
commit cdca8a2cfd
8 changed files with 24 additions and 7 deletions
@@ -433,8 +433,10 @@ export function createStructuresSection(
selectedPipeChainage,
// 재선택 = 해제(2026-08-18 복구) — 해제는 리셋과 같은 전체 초기화다.
onSelectStructure: (structure) => {
if (structure.structure_id !== null && structure.structure_id === editingId) resetForm();
else loadForm(structure);
if (structure.structure_id !== null && structure.structure_id === editingId) {
resetForm();
callbacks.onListRelease?.();
} else loadForm(structure);
},
onSelectPipe: (pipe) => {
const isSame =
@@ -442,6 +444,7 @@ export function createStructuresSection(
Math.abs(selectedPipeChainage - pipe.chainage_m) < PIPE_MATCH_M;
if (isSame) {
resetForm();
callbacks.onListRelease?.();
} else {
loadPipeForm(pipe);
callbacks.onPipeSelect(pipe.chainage_m);
@@ -164,6 +164,8 @@ export interface StructuresCallbacks {
* 목록에서 직접 고른 경우엔 이미 펼쳐져 있어 아무 일도 안 한다.
*/
onReveal?: () => void;
/** 목록에서 고른 줄을 다시 눌러 풂 — 다른 화면의 고름(횡단 카드)도 함께 끔(54-8). */
onListRelease?: () => void;
}
type OptionEntry = { key: string; read: () => string | number; isEmpty: () => boolean };