fix(B05): 임시 배치 자기 삭제·설계유량 미도착 — 헤드 브라우저 테스트로 확정
Playwright 헤드 테스트(사용자 동석)로 잡은 두 버그: 1. 임시 배치 자기 삭제: 관 추가 직후 전역 선택 동기화에서 투영 측점이 아직 없어 사이드에 null(해제)이 전달 → 해제=임시 취소 규칙에 걸려 방금 넣은 관을 즉시 지웠다. 투영 측점이 없어도 누가거리를 그대로 넘기도록 수정(Selection.ts). 2. 월류 높이 미계산: 세부유역 재계산 완료 후 선택 통지가 조용히 끝나 폼이 설계유량을 못 받았다. setPipeFacilities의 임시 관 추적 지점에서 setDesignFlow로 직접 반영. 검증(테스트 프로젝트, 화면 확인): 섹션 순서·경로계산 비활성·옵션 잠금/해제 시점· 임시 배치(3+5.0)·삭제/리셋 취소·[추가] 확정·물넘이 월류폭 5m 기본·월류 높이 0.07m 자동(설계유량 1.118㎥/s)·미만 입력 보정·초과 입력 허용·목록 재클릭 해제 전부 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,7 +97,10 @@ export function createSelectionSync(ports: SelectionSyncPorts): SelectionSync {
|
||||
try {
|
||||
ports.selectMarker(id);
|
||||
ports.selectGraph(id);
|
||||
ports.selectSidebar(matched ? matched.chainage_m : null);
|
||||
// 투영 측점이 아직 없어도(방금 넣은 임시 관 — 재계산 전) 누가거리는 그대로
|
||||
// 넘긴다. null을 넘기면 사이드가 "해제"로 받아 임시 배치를 스스로 취소한다
|
||||
// (2026-08-18 임시 배치 자기 삭제 버그).
|
||||
ports.selectSidebar(matched ? matched.chainage_m : chainageM);
|
||||
// 유역·마커 어느 쪽에서 왔든 시설 폼도 그 관을 연다(투영 측점이 없어도
|
||||
// 누가거리로 근사 매칭 — Drainage 쪽이 못 찾으면 해제된다).
|
||||
ports.selectPipeForm?.(matched ? matched.chainage_m : chainageM);
|
||||
|
||||
@@ -728,6 +728,10 @@ export function createStructuresSection(callbacks: StructuresCallbacks): Structu
|
||||
if (hit) {
|
||||
tempPipeChainage = hit.chainage_m;
|
||||
if (selectedPipeChainage !== null) selectedPipeChainage = hit.chainage_m;
|
||||
// 재계산이 끝나 도착한 담당 유역 설계유량을 입력 중인 폼에 반영한다 —
|
||||
// 물넘이·세월교 월류 높이가 이 값으로 계산된다(2026-08-18 진단: 재계산
|
||||
// 후 선택 통지가 조용히 끝나 폼이 유량을 못 받던 문제).
|
||||
facilityOptions.setDesignFlow(hit.design_flow_m3s ?? null);
|
||||
} else {
|
||||
// 임시 배치 관이 재계산에서 사라졌다 — 임시 상태만 정리(관은 이미 없다).
|
||||
tempPipeChainage = null;
|
||||
|
||||
Reference in New Issue
Block a user