침수흔적도 목록/지도 상세 팝업 mock 구현 및 md 업데이트
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# SFR-011-009 침수발생이력 통합 검증 계획
|
||||
|
||||
## 1. 문서 목적
|
||||
|
||||
- `SFR-011-009 침수발생이력`의 FE 검증 계획을 기능당 1개 문서로 누적 관리한다.
|
||||
- 현재 문서는 docs-first 설계 완료 직후 기준으로, FE-only 범위 검증 항목과 후속 통합 검증 항목을 분리한다.
|
||||
|
||||
## 2. 검증 기준 요약
|
||||
|
||||
- 레이어 트리 `침수흔적도` 목록 popup이 정상적으로 열린다.
|
||||
- `침수흔적도` on/off가 지도 표시와 맞게 동작한다.
|
||||
- 조회조건 유효성 검증이 동작한다.
|
||||
- `침수발생년도` 선택이 동작한다.
|
||||
- 목록이 조건에 따라 필터링된다.
|
||||
- 목록 다운로드가 현재 조회 결과 기준으로 동작한다.
|
||||
- 행 클릭 시 메인 지도 preview가 뜬다.
|
||||
- 지도 위 큰 침수흔적 레이어 클릭 시 작은 상세 팝업이 열린다.
|
||||
|
||||
## 3. FE-only 검증 계획
|
||||
|
||||
### 3.1 popup 진입
|
||||
|
||||
- 레이어 트리 `침수흔적도` 체크
|
||||
- 레이어 트리 `침수흔적도`의 목록 버튼 클릭
|
||||
- popup open 여부
|
||||
- popup 제목, 조회조건 영역, 목록 그리드 노출 여부
|
||||
|
||||
### 3.2 조회조건 검증
|
||||
|
||||
- 시도 미선택 상태에서 시군구 선택 후 조회 시 차단되는지 확인
|
||||
- 침수발생년도 선택 시 목록 필터가 반영되는지 확인
|
||||
- 침수재해명 키워드 입력 시 목록 필터가 적용되는지 확인
|
||||
|
||||
### 3.3 목록/다운로드
|
||||
|
||||
- 조회 결과 총 건수 표시
|
||||
- `강우 분석정보` 묶음 헤더와 하위 4개 컬럼 표시
|
||||
- 나머지 상세 필드가 가로 스크롤로 모두 노출되는지 확인
|
||||
- 10건 초과 시 페이지네이션 노출
|
||||
- 다운로드 버튼 클릭 시 현재 필터링 결과 기준 파일이 생성되는지 확인
|
||||
- 결과 없음 상태에서 다운로드가 차단되는지 확인
|
||||
|
||||
### 3.4 지도 연동
|
||||
|
||||
- 행 클릭 시 지도 preview 표시 여부
|
||||
- 행 더블클릭 시 popup close 여부
|
||||
- 메인 지도 영역으로 fit 이동되는지 확인
|
||||
- `침수흔적도` 체크 시 mock polygon과 침수심 overlay가 함께 표시되는지 확인
|
||||
- `침수흔적도`를 끄면 관련 표시가 함께 숨겨지는지 확인
|
||||
- 큰 침수흔적 polygon 클릭 시 상세 팝업이 뜨는지 확인
|
||||
|
||||
### 3.5 지도 상세 팝업
|
||||
|
||||
- `침수년도탭`, `재해명탭`, `침수발생강우탭` 전환
|
||||
- 기술 컬럼 제외 후 한글 업무 항목만 보이는지 확인
|
||||
- 각 탭의 테이블 구조와 값 표시
|
||||
- 닫기 시 팝업만 닫히는지 확인
|
||||
|
||||
## 4. BE 연동 후 검증 계획
|
||||
|
||||
- 실제 목록 조회 API 필드 매핑
|
||||
- 실제 geometry 및 지도 위치 정합성
|
||||
- 지도 click 상세조회
|
||||
- 실제 레이어 트리 `침수흔적도` 토글 연계
|
||||
- 다운로드 권한 및 파일 포맷 검증
|
||||
|
||||
## 5. 차단 사유 분류 기준
|
||||
|
||||
- `기능 결함`
|
||||
- `인증 차단`
|
||||
- `환경 차단`
|
||||
- `데이터 차단`
|
||||
- `자동화 한계`
|
||||
|
||||
## 6. 현재 상태
|
||||
|
||||
- 공통 설계서 작성 완료
|
||||
- FE 작업카드 작성 완료
|
||||
- 구현은 진행 중이며, 검증은 FE-only 기준으로 먼저 수행한다.
|
||||
@@ -0,0 +1,52 @@
|
||||
# SFR-011-009 침수발생이력 통합 검증 결과
|
||||
|
||||
## 1. 문서 목적
|
||||
|
||||
- `SFR-011-009 침수발생이력`의 현재 검증 결과와 남은 수동 확인 항목을 누적 관리한다.
|
||||
- 현재 문서는 FE draft 구현 직후 기준의 로컬 응답 확인과 자동화 한계 항목을 기록한다.
|
||||
|
||||
## 2. 이번 라운드 결과 요약
|
||||
|
||||
- 상태: 부분 확인
|
||||
- 확인 완료
|
||||
- `localhost:3002` 기본 응답 200 확인
|
||||
- `localhost:3002/map` 응답 200 확인
|
||||
- 공통 설계서, FE 작업카드, FE 검증계획 작성 완료
|
||||
- 미완료
|
||||
- popup 실제 진입 확인
|
||||
- 목록 조회/행 클릭 preview/메인 지도 플로팅 상세팝업 수동 확인
|
||||
- 다운로드 파일 수동 확인
|
||||
|
||||
## 3. 세부 결과
|
||||
|
||||
### 3.1 환경 확인
|
||||
|
||||
- `pnpm --filter sn run dev`는 샌드박스 내에서 `spawn EPERM`으로 실패했다.
|
||||
- 권한 상승 후 로컬 서버를 열어 `http://127.0.0.1:3002`, `http://127.0.0.1:3002/map` 응답 200을 확인했다.
|
||||
|
||||
### 3.2 자동/간접 확인
|
||||
|
||||
| 항목 | 결과 | 메모 |
|
||||
| --- | --- | --- |
|
||||
| 로컬 서버 기본 응답 | 통과 | `/` 200 |
|
||||
| 지도 메인 경로 응답 | 통과 | `/map` 200 |
|
||||
| popup 경로 직접 요청 | 보류 | 초기 컴파일 지연 또는 자동 요청 timeout 가능성 |
|
||||
| 실제 popup 클릭 | 보류 | 사용자가 로컬 수동 검증 예정 |
|
||||
| 행 클릭 preview | 보류 | 사용자가 로컬 수동 검증 예정 |
|
||||
| 더블클릭 후 지도 이동 | 보류 | 사용자가 로컬 수동 검증 예정 |
|
||||
| 지도 클릭 플로팅 팝업 | 보류 | 사용자가 로컬 수동 검증 예정 |
|
||||
|
||||
## 4. 남은 수동 검증 항목
|
||||
|
||||
1. 레이어 트리 `침수흔적도` 목록 버튼으로 popup이 정상적으로 열리는지 확인
|
||||
2. 조회조건 입력과 목록 필터가 기대대로 동작하는지 확인
|
||||
3. 목록 행 클릭 시 메인 지도에 테스트 레이어가 보이는지 확인
|
||||
4. 목록 행 더블클릭 시 popup이 닫히고 메인 지도 이동이 유지되는지 확인
|
||||
5. 큰 침수흔적 polygon 클릭 시 작은 상세 팝업이 뜨는지 확인
|
||||
6. `침수흔적도` on/off에 따라 영역/침수심 overlay가 메인 지도에 맞게 보이는지 확인
|
||||
7. 상세 팝업 탭과 표 구성이 자연스러운지 확인
|
||||
|
||||
## 5. 결론
|
||||
|
||||
- FE draft 구현과 문서 선행 정리는 완료됐다.
|
||||
- 최종 상태는 사용자 로컬 수동 검증 결과를 반영한 뒤 `검증 통과` 또는 `추가 보완 필요`로 갱신한다.
|
||||
@@ -0,0 +1,117 @@
|
||||
# SFR-011-009 침수발생이력 작업카드
|
||||
|
||||
## 1. 작업 개요
|
||||
|
||||
- 작업 ID: `SFR-011-009-FE`
|
||||
- 작업명: 침수발생이력 프론트엔드 구현
|
||||
- 상태: 검증
|
||||
- 작성일: 2026-06-15
|
||||
- 담당 역할: FE
|
||||
- 관련 역할: DE, QA
|
||||
- 담당 범위: `apps/sn` 지도 화면에서 레이어 트리 `침수흔적도` 목록 popup, 목록 조회, 지도 preview, 지도 클릭 플로팅 상세 팝업, mock 침수심 overlay 구현
|
||||
- 근거 문서
|
||||
- `COMMON_DOCS_ROOT/작업계획/SFR-011-009-침수발생이력/001-de-SFR-011-009-침수발생이력-설계.md`
|
||||
- `COMMON_DOCS_ROOT/작업지시/SFR-011-009-침수발생이력/0.침수발생이력_요구사항명세서_v2.0.docx`
|
||||
- `COMMON_DOCS_ROOT/작업지시/SFR-011-009-침수발생이력/5.침수발생이력_화면시나리오_V2.0.md.docx`
|
||||
- `COMMON_DOCS_ROOT/작업지시/SFR-011-009-침수발생이력/침수발생이력 목록화면설계서.png`
|
||||
- `COMMON_DOCS_ROOT/작업지시/SFR-011-009-침수발생이력/침수발생이력 지도상세정보화면설계서.png`
|
||||
- `COMMON_DOCS_ROOT/작업지시/SFR-011-009-침수발생이력/침수발생이력_화면.html`
|
||||
|
||||
## 1-1. 공통 동기화 확인
|
||||
|
||||
- 공통 작업현황판 확인 여부: 확인
|
||||
- 파일점유현황 확인 여부: 확인
|
||||
- 결정로그 확인 여부: 확인
|
||||
- 기존 진행 중 작업과의 관계: `map/page.tsx`, `windowPopup/**`는 다른 지도형 기능과 최근 수정 이력이 있어 충돌 주의가 필요하다.
|
||||
|
||||
## 2. 작업 목적
|
||||
|
||||
- 레이어 트리 `침수흔적도` 목록 진입을 placeholder가 아닌 실제 popup UI로 연결한다.
|
||||
- popup 조회 결과를 메인 지도와 연동해 사용자가 선택한 침수발생이력을 즉시 확인할 수 있게 한다.
|
||||
- 설계 이미지의 `침수흔적도 on/off + 목록 popup + 지도 강조 + 지도 위 상세 팝업` 흐름을 현재 `sn` 지도형 구조 안에서 자연스럽게 재현한다.
|
||||
|
||||
## 3. 수정 대상 파일
|
||||
|
||||
| 구분 | 파일 경로 | 수정 여부 | 비고 |
|
||||
| --- | --- | --- | --- |
|
||||
| 메인 지도 | `FE_APP_ROOT/app/(map-layout)/map/page.tsx` | 진행 | popup 선택 결과 수신, 지도 overlay, 우측 상세패널 연결 |
|
||||
| popup 정의 | `FE_APP_ROOT/src/features/windowPopup/model/popupDefinitions.ts` | 진행 | tree 목록 진입 popup 키/크기 정의 |
|
||||
| popup 등록 | `FE_APP_ROOT/src/features/windowPopup/registry.tsx` | 진행 | placeholder에서 실제 popup content로 교체 |
|
||||
| 분석도구 메뉴 | `FE_APP_ROOT/app/(map-layout)/map/components/analysisMenu/AnalysisPopupMenu.tsx` | 진행 | 분석도구에서 `침수발생이력` 제거 |
|
||||
| popup content | `FE_APP_ROOT/src/features/windowPopup/ui/FloodHistoryPopupContent.tsx` | 진행 | popup 본문 연결 |
|
||||
| 신규 popup 페이지 | `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/FloodHistoryPopupPage.tsx` | 진행 | 조회조건/목록/다운로드 |
|
||||
| 신규 상세패널 | `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/FloodHistoryDetailPanel.tsx` | 진행 | 기본정보/발생일시/원인·피해 탭 |
|
||||
| 신규 타입/샘플데이터 | `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/floodHistoryTypes.ts` | 진행 | mock 데이터, postMessage 타입, legend 정의 |
|
||||
|
||||
## 4. 구현 범위
|
||||
|
||||
### 4.1 이번 라운드 포함
|
||||
|
||||
- 레이어 트리 `침수흔적도` 목록 popup 진입
|
||||
- 레이어 트리 `침수흔적도` on/off
|
||||
- 시도/시군구/침수발생년도 선택/침수재해명 조회조건
|
||||
- mock 목록 조회/페이징
|
||||
- 목록 다운로드
|
||||
- 목록 행 클릭 preview + 더블클릭 후 메인 지도 이동
|
||||
- 메인 지도 mock polygon/침수심 overlay
|
||||
- 지도 클릭 플로팅 상세 팝업
|
||||
- `강우 분석정보` 묶음 헤더 유지 + 상세 필드 가로 스크롤 그리드
|
||||
|
||||
### 4.2 이번 라운드 제외
|
||||
|
||||
- 실제 백엔드 API 연동
|
||||
- 실제 레이어 트리 토글 연계
|
||||
- 지도 click 상세조회
|
||||
- 실제 기준데이터 기반 GIS layer 렌더링
|
||||
|
||||
## 5. 화면 흐름
|
||||
|
||||
1. 사용자가 레이어 트리에서 `침수흔적도`를 체크한다.
|
||||
2. 사용자가 `침수흔적도` 목록 버튼을 클릭한다.
|
||||
3. popup이 열린다.
|
||||
4. 사용자가 조회조건을 입력하고 `조회`를 클릭한다.
|
||||
5. 목록이 popup 그리드에 표시된다.
|
||||
6. 사용자가 행을 클릭하면 메인 지도에 테스트 레이어가 먼저 표시된다.
|
||||
7. 사용자가 행을 더블클릭하면 popup이 닫히고 메인 지도는 해당 침수 이력 영역으로 이동한다.
|
||||
8. `침수흔적도` 체크 상태에 따라 영역/침수심 표현이 함께 보인다.
|
||||
9. 메인 지도 위 큰 침수흔적 영역을 클릭하면 작은 상세 팝업이 열린다.
|
||||
|
||||
## 6. 구현 메모
|
||||
|
||||
- popup은 기존 `windowPopup` 체계를 그대로 사용하되, 분석도구가 아니라 레이어 트리 `침수흔적도` 목록 버튼으로 연다.
|
||||
- 목록 선택 결과는 `window.opener.postMessage`로 메인 지도에 전달한다.
|
||||
- popup의 `침수발생년도`는 같은 필터 줄 안의 선택 컴포넌트로 처리한다.
|
||||
- 메인 지도는 `VectorLayer` 두 개를 사용해
|
||||
- 침수발생이력상세 영역
|
||||
- 침수심 표현 영역
|
||||
을 임시 렌더링한다.
|
||||
- 두 overlay는 `침수흔적도` 체크 상태를 따르도록 맞춘다.
|
||||
- 상세정보는 우측 패널이 아니라 지도 위 플로팅 팝업으로 노출하고, 탭은 `침수년도탭`, `재해명탭`, `침수발생강우탭` 기준으로 보여준다.
|
||||
|
||||
## 7. 검증 방법
|
||||
|
||||
- 레이어 트리 `침수흔적도` 목록 popup이 열린다.
|
||||
- `침수흔적도` 체크 on/off에 따라 영역/침수심 overlay가 함께 바뀐다.
|
||||
- 시도 없이 시군구를 선택하면 조회가 차단된다.
|
||||
- 침수발생년도 선택이 동작한다.
|
||||
- 조건 변경 시 목록 필터가 바뀐다.
|
||||
- 행 클릭 시 지도 preview가 표시된다.
|
||||
- 지도 위 큰 polygon 클릭 시 작은 상세 팝업이 열린다.
|
||||
- 상세 팝업 탭 전환이 동작한다.
|
||||
|
||||
## 8. 현재 메모
|
||||
|
||||
- 문서 우선 원칙에 맞춰 이번 라운드는 설계서/작업카드/검증계획을 먼저 정리한 뒤 구현을 이어간다.
|
||||
- 현재 코드에는 일부 draft 구현이 이미 들어가 있으므로, 이후 단계에서 이 작업카드 기준으로 정합성을 다시 맞춘다.
|
||||
|
||||
## 9. 롤백 방법
|
||||
|
||||
- 레이어 트리 목록 진입 연결 해제
|
||||
- `floodHistory` 신규 컴포넌트 삭제
|
||||
- `map/page.tsx`의 floodHistory overlay/상세패널 분기 제거
|
||||
|
||||
## 10. 남은 리스크
|
||||
|
||||
- 실제 API 필드명이 mock 데이터와 다를 수 있다.
|
||||
- 실제 지도 레이어 기준데이터가 준비되면 현재 mock overlay 방식과 상태 관리가 달라질 수 있다.
|
||||
- popup 상세정보를 우측 패널로 둘지 지도 내부 floating popup으로 둘지는 실제 사용성 피드백 후 재조정 가능성이 있다.
|
||||
@@ -0,0 +1,73 @@
|
||||
# SFR-011-009 침수발생이력 통합 구현 기록
|
||||
|
||||
## 1. 문서 목적
|
||||
|
||||
- `SFR-011-009 침수발생이력`의 FE 구현 이력과 남은 리스크를 기능당 1개 문서로 누적 관리한다.
|
||||
- 현재 문서는 docs-first 재정렬 이후의 1차 FE draft 구현 상태를 기록한다.
|
||||
|
||||
## 2. 입력 근거
|
||||
|
||||
- `COMMON_DOCS_ROOT/작업계획/SFR-011-009-침수발생이력/001-de-SFR-011-009-침수발생이력-설계.md`
|
||||
- `COMMON_DOCS_ROOT/작업내용/SFR-011-009-침수발생이력/001-fe-SFR-011-009-침수발생이력-통합공유기록.md`
|
||||
- `FE_APP_DOCS_ROOT/작업계획/SFR-011-009-침수발생이력/001-fe-SFR-011-009-침수발생이력-작업카드.md`
|
||||
|
||||
## 3. 구현 라운드 요약
|
||||
|
||||
### 3.1 2026-06-15 docs-first 재정렬
|
||||
|
||||
- 수행 내용
|
||||
- 작업지시 DOCX, 시나리오 DOCX, 설계 PNG, HTML 시안을 먼저 읽고 기능 범위를 재정리했다.
|
||||
- 공통 설계서, FE 작업카드, FE 통합검증계획을 먼저 작성했다.
|
||||
- 공통 작업현황판/파일점유현황에 `SFR-011-009-DE-FE-PLAN` 진행 상태를 등록했다.
|
||||
|
||||
### 3.2 2026-06-15 FE draft 구현
|
||||
|
||||
- 반영 파일
|
||||
- `FE_APP_ROOT/app/(map-layout)/map/page.tsx`
|
||||
- `FE_APP_ROOT/app/(map-layout)/map/components/analysisMenu/AnalysisPopupMenu.tsx`
|
||||
- `FE_APP_ROOT/src/features/windowPopup/model/popupDefinitions.ts`
|
||||
- `FE_APP_ROOT/src/features/windowPopup/registry.tsx`
|
||||
- `FE_APP_ROOT/src/features/windowPopup/ui/FloodHistoryPopupContent.tsx`
|
||||
- `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/FloodHistoryPopupPage.tsx`
|
||||
- `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/FloodHistoryDetailPanel.tsx`
|
||||
- `FE_APP_ROOT/app/(map-layout)/map/components/floodHistory/floodHistoryTypes.ts`
|
||||
- 구현 내용
|
||||
- 분석도구의 `침수발생이력` 항목은 제거하고, 레이어 트리 `침수흔적도` 목록 진입으로 popup을 열도록 바꿨다.
|
||||
- `침수발생이력` popup placeholder를 실제 popup 페이지로 교체했다.
|
||||
- 시도/시군구/침수발생년도 선택/침수재해명 조회조건과 mock 목록 조회/다운로드를 연결했다.
|
||||
- 그리드는 현재 파란 톤을 유지하되, 사용안함 항목을 제외한 상세 필드를 모두 노출하도록 바꾸고 가로 스크롤을 허용했다. `강우 분석정보` 묶음은 유지하면서 뒤쪽 컬럼을 재배치했다.
|
||||
- 행 클릭 시 popup을 유지한 채 `postMessage`로 메인 지도에 mock preview를 보내고, 더블클릭 시 popup을 닫도록 구성했다.
|
||||
- 메인 지도는 mock polygon layer와 침수심 표현 layer를 임시 `VectorLayer`로 그리도록 구성했고, 표시 여부는 `침수흔적도` 체크 상태를 따르도록 보정했다.
|
||||
- 메인 지도 우측 상세패널은 제거하고, 지도 위 큰 침수흔적 영역 클릭 시 작은 플로팅 팝업이 열리도록 바꿨다.
|
||||
- 상세 팝업 탭은 `침수년도탭`, `재해명탭`, `침수발생강우탭` 구조에 맞춰 재배치했고, 탭별 표 항목도 캡처 기준에 가깝게 맞췄다.
|
||||
|
||||
## 4. 기능별 현재 상태
|
||||
|
||||
### 4.1 popup 조회
|
||||
|
||||
- FE-only draft 구현 완료
|
||||
- 레이어 트리 `침수흔적도` 목록 진입 기준
|
||||
- 시도/시군구/년도/재해명 조건과 목록 필터, 페이지네이션, 다운로드를 포함한다.
|
||||
|
||||
### 4.2 지도 이동 및 강조
|
||||
|
||||
- FE-only draft 구현 완료
|
||||
- 더블클릭 시 popup close 후 메인 지도 fit 이동과 mock polygon/침수심 표현 overlay를 수행한다.
|
||||
- `침수흔적도` 체크 상태에 따라 영역과 침수심 overlay를 함께 표시/숨김한다.
|
||||
|
||||
### 4.3 지도 상세 팝업
|
||||
|
||||
- FE-only draft 구현 완료
|
||||
- 선택 이력 기준 3탭 플로팅 팝업을 제공한다.
|
||||
|
||||
## 5. 현재 검증 메모
|
||||
|
||||
- 로컬 `localhost:3002` 응답은 확인했다.
|
||||
- `next dev`는 샌드박스 내에서 `spawn EPERM`이 발생해 권한 상승 후 로컬 서버를 띄웠다.
|
||||
- 사용자가 직접 로컬 화면을 수동 검증할 예정이므로, popup 실제 진입/더블클릭/상세패널 체감 확인은 후속 결과를 받아 갱신한다.
|
||||
|
||||
## 6. 남은 리스크
|
||||
|
||||
- popup 라우트의 초기 컴파일 시간이 길어 자동 요청에서 timeout이 발생할 수 있다.
|
||||
- `침수흔적도` 기준데이터 이름/구조와 FE 판별식이 다를 수 있다.
|
||||
- 실제 API 필드가 확정되면 상세패널 항목명/정렬이 일부 바뀔 수 있다.
|
||||
Reference in New Issue
Block a user