하수관로 편집 세션 UI 및 토글 동작 개선
This commit is contained in:
@@ -2703,7 +2703,7 @@ const Map = () => {
|
||||
() => gisEdit.changes.filter(isVisibleGisEditSessionChange),
|
||||
[gisEdit.changes],
|
||||
);
|
||||
const shouldShowGisEditSession = gisEdit.isEditMode || gisEditVisibleSessionChanges.length > 0;
|
||||
const shouldShowGisEditSession = gisEdit.isEditMode;
|
||||
const isGisEditSessionInlineVisible = shouldShowGisEditSession && gisEditSessionView === "inline";
|
||||
const gisEditSessionSnapshot = useMemo<GisEditSessionSnapshot>(() => ({
|
||||
isEditMode: gisEdit.isEditMode,
|
||||
@@ -3022,7 +3022,7 @@ const Map = () => {
|
||||
}, [gisEdit.isEditMode, gisEditDetailChange, gisEditDetailChangeId]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!(gisEdit.isEditMode || gisEditVisibleSessionChanges.length > 0)) return;
|
||||
if (!gisEdit.isEditMode) return;
|
||||
syncGisEditSessionPopup();
|
||||
}, [gisEdit.isEditMode, gisEditVisibleSessionChanges.length, syncGisEditSessionPopup]);
|
||||
|
||||
@@ -5883,9 +5883,14 @@ const Map = () => {
|
||||
|
||||
// GIS 편집 진입 시에는 화면 안 인라인 세션을 우선 표시하고, 윈도우 팝업은 사용자가 명시적으로 연다.
|
||||
const handleToggleGisEdit = useCallback(() => {
|
||||
if (gisEdit.isEditMode) {
|
||||
closeGisEditSessionPopup();
|
||||
} else {
|
||||
setGisEditSessionView("inline");
|
||||
}
|
||||
gisEdit.toggleEditMode();
|
||||
setIsOpen(false);
|
||||
}, [gisEdit]);
|
||||
}, [closeGisEditSessionPopup, gisEdit]);
|
||||
|
||||
const handleOpenGisEditSessionPopup = useCallback(() => {
|
||||
const popup = openGisEditSessionPopup();
|
||||
|
||||
@@ -232,3 +232,10 @@
|
||||
- 세션 확장과 팝업 전환에도 도구바 좌표가 유지되는지 확인한다.
|
||||
4. 팝업 왕복
|
||||
- 팝업 열기 시 인라인 숨김, `화면에서 보기`와 직접 닫기 시 인라인 복원을 재확인한다.
|
||||
|
||||
## 11. 2026-07-15 GIS 편집 토글 종료 회귀 검증
|
||||
|
||||
1. 변경분이 있는 상태에서 분석도구 `GIS 편집`을 두 번째 클릭한다.
|
||||
2. 하단 GIS 편집 바와 인라인 편집 세션이 함께 사라지는지 확인한다.
|
||||
3. 팝업 뷰 상태에서 GIS 편집을 끄면 팝업도 닫히는지 확인한다.
|
||||
4. GIS 편집을 다시 켜면 기존 변경분이 인라인 세션에 복원되는지 확인한다.
|
||||
|
||||
@@ -746,3 +746,16 @@
|
||||
- 인라인·윈도우 팝업 상호 전환
|
||||
- 변경 카드 제목/선택 표시 한 줄 노출 및 안내 문구 가독성
|
||||
- 결론: SFR-012-003 프론트 유지보수 수동 검증 완료.
|
||||
|
||||
### 2.30 2026-07-15 GIS 편집 토글 종료 보정 결과
|
||||
|
||||
- 인라인 세션 표시와 팝업 sync가 `gisEdit.isEditMode`를 기준으로 동작하는 것을 정적으로 확인했다.
|
||||
- 편집 종료 시 팝업 닫기, 재진입 시 inline 복원 처리를 확인했다.
|
||||
- 변경분 배열을 비우지 않아 재진입 복원 계약이 유지된다.
|
||||
- `git diff --check` 통과. 실제 지도에서 11절 시나리오 수동 검증이 필요하다.
|
||||
|
||||
### 2.31 2026-07-15 GIS 편집 토글 종료 사용자 수동 검증 완료
|
||||
|
||||
- 사용자가 실제 지도에서 GIS 편집 두 번째 클릭 시 하단 도구바와 인라인 세션이 함께 사라지는 것을 확인했다.
|
||||
- 다시 GIS 편집 진입 시 기존 변경분과 인라인 세션이 복원되는 것을 확인했다.
|
||||
- 결론: 추가 회귀 보정까지 사용자 수동 검증 완료.
|
||||
|
||||
@@ -480,3 +480,11 @@
|
||||
- `getChangeSummary()`의 완료형 문구를 짧은 행동 안내형으로 변경했다.
|
||||
- 추가 위치 확인, 이동 위치 조정, 점 이동/선분 추가, 삭제 대상 확인, 상세정보 확인을 한 줄 길이로 제공한다.
|
||||
- 카드 레이아웃과 원본 `change.summary` 데이터는 변경하지 않았다.
|
||||
|
||||
### 4.31 2026-07-15 GIS 편집 종료 시 세션 UI 동시 숨김
|
||||
|
||||
- `map/page.tsx`의 `shouldShowGisEditSession`을 변경분 존재 여부가 아닌 `gisEdit.isEditMode`만 사용하도록 변경했다.
|
||||
- 편집 종료 시 `closeGisEditSessionPopup()`을 호출해 열린 세션 팝업도 닫는다.
|
||||
- 편집 재진입 시 `gisEditSessionView`를 `inline`으로 복원한다.
|
||||
- 팝업 sync effect도 편집 모드가 꺼져 있으면 실행하지 않는다.
|
||||
- `useGisEdit`의 변경분 배열은 유지하므로 다시 진입하면 기존 변경 카드가 복원된다.
|
||||
|
||||
Reference in New Issue
Block a user