Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1

This commit is contained in:
2026-10-06 10:42:10 +09:00
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 };