RDII 분석 진행률 표시 및 결과 팝업 가독성 개선
This commit is contained in:
@@ -27,7 +27,7 @@ const RDII_RESULT_HEADLIST = [
|
||||
{ id: "drtwSwtcRt", title: "오수 전환율" },
|
||||
{ id: "srcNm", title: "RTK 계수 출처" },
|
||||
{ id: "cntbArea", title: "RDII 기여면적" },
|
||||
{ id: "anlsInfo", title: "RDII 분석정보" },
|
||||
{ id: "anlsInfo", title: "RDII\n분석정보" },
|
||||
{ id: "regDt", title: "분석일자" },
|
||||
{ id: "rgtrNm", title: "분석자" },
|
||||
{ id: "scsYn", title: "분석성공여부" },
|
||||
@@ -323,6 +323,11 @@ export default function RdiiResultPopupPage() {
|
||||
pageSize={RDII_RESULT_PAGE_SIZE}
|
||||
total={total}
|
||||
cellClick={(index) => handleRowClick(index)}
|
||||
cellClassName={(_, headId) =>
|
||||
headId === "anlsInfo"
|
||||
? "whitespace-normal break-all leading-[1.35]"
|
||||
: ""
|
||||
}
|
||||
onPageChange={(page) => void handleSearch(page)}
|
||||
curPage={currentPage}
|
||||
index={selectedIndex}
|
||||
|
||||
@@ -147,6 +147,11 @@ export default function RTKForm() {
|
||||
buildStatusUrl: (analysisSn) => `v1/rdiiAnls/${analysisSn}/status`,
|
||||
successMessage: 'RDII 분석이 완료되었습니다.',
|
||||
failureMessage: 'RDII 분석이 실패했습니다. 로그를 확인해주세요.',
|
||||
analysisType: 'RDII',
|
||||
analysisName: 'RDII 분석',
|
||||
initialProgressPercent: 10,
|
||||
initialProgressStep: 'REQUEST_ACCEPTED',
|
||||
initialProgressMessage: '요청 접수 완료',
|
||||
});
|
||||
|
||||
// form 인스턴스 생성
|
||||
|
||||
@@ -66,6 +66,11 @@ const DEFAULT_ANALYSIS_NAME = "분석 진행";
|
||||
const DEFAULT_POLLING_INTERVAL_MS = 3000;
|
||||
const DEFAULT_PROGRESS_MESSAGE = "진행 상태를 확인하는 중입니다.";
|
||||
const INFTWT_ANALYSIS_TYPE = "INFTWT";
|
||||
const RDII_ANALYSIS_TYPE = "RDII";
|
||||
const PROGRESS_OVERLAY_ANALYSIS_TYPES = new Set([
|
||||
INFTWT_ANALYSIS_TYPE,
|
||||
RDII_ANALYSIS_TYPE,
|
||||
]);
|
||||
const PENDING_ANALYSIS_WATCHES_STORAGE_KEY = "SN_PENDING_ANALYSIS_WATCHES";
|
||||
const PENDING_ANALYSIS_WATCHES_CHANGED_EVENT = "sn-pending-analysis-watches-changed";
|
||||
|
||||
@@ -200,7 +205,7 @@ const toOverlayItem = (items: PendingAnalysisWatch[]) => {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (item.analysisType !== INFTWT_ANALYSIS_TYPE) {
|
||||
if (!PROGRESS_OVERLAY_ANALYSIS_TYPES.has(item.analysisType)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,4 +62,28 @@
|
||||
- `ii/rdii/page.tsx`는 `savewithfile` 성공 직후 `분석 요청이 접수되었습니다. 완료 시 안내됩니다.` 문구를 먼저 보여주고, 응답의 `rainInfwtAnlsSn`으로 완료 감시를 시작하도록 바꿨다.
|
||||
- 감시는 공통 `ii/useAnalysisCompletionWatcher.ts`를 재사용해 `GET /api/v1/rdiiAnls/{rainInfwtAnlsSn}/status` polling과 `Y/N` 종료 alert를 처리한다.
|
||||
- `app/(with-base-layout)/layout.tsx`에 `GlobalAnalysisCompletionWatcher`를 mount해 사용자가 RDII 화면을 떠난 뒤에도 같은 레이아웃 범위 안에서는 완료 alert가 이어지도록 보강했다.
|
||||
- FE 정적 검증은 `node node_modules\typescript\bin\tsc --noEmit --ignoreDeprecations 5.0 -p tsconfig.json`까지 수행했고, 이번 RDII 완료 alert 변경 파일 기준 신규 오류는 없고 기존 선행 오류만 남았다.
|
||||
- FE 정적 검증은 `node node_modules\typescript\bin\tsc --noEmit --ignoreDeprecations 5.0 -p tsconfig.json`까지 수행했고, 이번 RDII 완료 alert 변경 파일 기준 신규 오류는 없고 기존 선행 오류만 남았다.
|
||||
|
||||
## 12. 2026-07-13 RDII 분석 progress overlay 이관
|
||||
|
||||
- `ii/rdii/page.tsx`의 완료 watcher 등록에 `analysisType=RDII`, `analysisName=RDII 분석`, 초기 `10% REQUEST_ACCEPTED` 상태를 추가했다.
|
||||
- 공통 `useAnalysisCompletionWatcher.tsx`는 overlay 허용 분석유형을 `INFTWT`, `RDII`로 확장해 기존 좌측 하단 UI와 localStorage 감시 흐름을 그대로 재사용한다.
|
||||
- RDII status API의 `progressPercent`, `progressStep`, `progressMessage`, `updatedAt`을 기존 공통 polling 로직이 받아 화면에 반영한다.
|
||||
- TypeScript 전체 검사는 기존 지도·HTML·공통 차트 선행 오류로 실패했으며, 이번 RDII 변경 파일에서 새 오류는 확인되지 않았다.
|
||||
- 실제 브라우저에서 RDII 실행 후 단계 전환과 페이지 이동 중 overlay 유지 여부를 수동 확인해야 한다.
|
||||
|
||||
## 13. 2026-07-13 RDII 분석정보 헤더/내용 줄바꿈 보정
|
||||
|
||||
- 지도 `RDII 분석결과` 팝업의 `anlsInfo` 헤더를 `RDII\n분석정보`로 변경했다.
|
||||
- 공통 `UiTable`의 `white-space: pre-line` 렌더링을 재사용해 `RDII`와 `분석정보`가 두 줄로 표시되도록 맞췄다.
|
||||
- 긴 분석정보 값이 다음 열과 겹치지 않도록 RDII `UiTable`의 `anlsInfo` 데이터 셀에 침입수와 동일한 `whitespace-normal break-all leading-[1.35]` 클래스를 적용했다.
|
||||
- 레거시 `ii/rdiiResult` 화면과 공통 테이블 컴포넌트는 수정하지 않았다.
|
||||
- TypeScript 전체 검사는 기존 선행 오류로 실패했으며, `RdiiResultPopupPage.tsx` 관련 신규 오류는 없었다.
|
||||
|
||||
## 14. 2026-07-13 최종 코드 재검토 및 마감
|
||||
|
||||
- RDII 분석 실행 후 watcher 등록값, 전역 overlay의 `INFTWT/RDII` 필터, status 응답 반영과 `Y/N` 종료 alert 흐름을 다시 대조했다.
|
||||
- RDII 분석결과 팝업은 헤더 줄바꿈과 `anlsInfo` 데이터 셀의 `break-all` 처리가 침입수 팝업 패턴과 동일함을 확인했다.
|
||||
- 최종 TypeScript 전체 검사는 기존 지도·HTML·공통 차트 선행 오류로 실패했으며, RDII 변경 파일의 신규 오류는 없었다.
|
||||
- `git diff --check`를 통과했고 자동 검증 기준 추가 수정이 필요한 프론트 결함은 발견되지 않아 구현 범위를 마감한다.
|
||||
- 실제 단계 전환과 긴 분석정보 표시 상태는 배포 환경 브라우저 smoke test 항목으로 남긴다.
|
||||
|
||||
Reference in New Issue
Block a user