From 916c0687062b9d4d24f221876e78bb048420f0e1 Mon Sep 17 00:00:00 2001 From: JIeunhuh Date: Fri, 4 Jul 2025 11:00:34 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=9D=EC=97=85=20=EC=A7=84=ED=96=89?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/map/htdflSttn/page.tsx | 3 ++- apps/wr/app/map/newWindowPopup.tsx | 24 ++++++++++-------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/apps/wr/app/map/htdflSttn/page.tsx b/apps/wr/app/map/htdflSttn/page.tsx index e74d055d8..5702e0179 100644 --- a/apps/wr/app/map/htdflSttn/page.tsx +++ b/apps/wr/app/map/htdflSttn/page.tsx @@ -4,7 +4,7 @@ import Gis from "@common/business_components/ui/map/Gis"; import { useEffect, useRef, useState, useCallback } from "react"; import FeatureClickEventPopup from "../featureClickEventPopup"; import { mapService } from "../service"; -import { MapSearchBar } from "../mapSearchBar"; +// import { MapSearchBar } from "../mapSearchBar"; import NewWindowPopup from "../newWindowPopup"; import GisApp from "@common/business_components/ui/map/lib/gis.core"; @@ -141,6 +141,7 @@ const Map = () => { onClose={handlePopupClose} // 메모이제이션된 함수 사용 checkedLayers={checkedLayers} checkedLayersData={checkedLayersData} + seletectedLayerNm={""} {...props} /> )} diff --git a/apps/wr/app/map/newWindowPopup.tsx b/apps/wr/app/map/newWindowPopup.tsx index 5946199a7..976cd052b 100644 --- a/apps/wr/app/map/newWindowPopup.tsx +++ b/apps/wr/app/map/newWindowPopup.tsx @@ -23,6 +23,8 @@ interface NewWindowPopupProps { checkedLayers?: string[]; checkedLayersData?: any[]; seletectedLayerNm?: string + viewMode?:string + setViewMode?:React.Dispatch>; onClose: () => void; } @@ -41,15 +43,15 @@ const NewWindowPopup: React.FC = ({ checkedLayers = [], checkedLayersData = [], seletectedLayerNm, + viewMode, + setViewMode, onClose }) => { const { gisMap } = useGisContext() as unknown as { checkedLayerIds: React.MutableRefObject; treeData: { lyrSn: number }[] | null; gisCore: any; gisMap: any; }; const [tabData, setTabData] = useState<{ id: string; name: string; data: any }[]>([]); const [activeTab, setActiveTab] = useState('0'); // swcho : useState의 true, false 값 변경하여 목록, 상태 테스트 하였음 - const [showDetailView, setShowDetailView] = useState(true); // 상세정보 화면 표시 상태 추가 - const [showListView, setShowListView] = useState(false) - const [viewMode, setViewMode] = useState<"detail" | "list">("detail"); // "detail" 또는 "list"로 상태 관리 + // const [viewMode, setViewMode] = useState<"detail" | "list">("detail"); // "detail" 또는 "list"로 상태 관리 // onClose 함수를 useCallback으로 메모이제이션 const memoizedOnClose = useCallback(() => { @@ -112,7 +114,7 @@ const NewWindowPopup: React.FC = ({ setPbnstRuseFcltPk(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk); fetchpbnstDetail(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) setActiveTab(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) - setViewMode('detail') + setViewMode && setViewMode("detail") } }; const getSelectedLayers = () => { @@ -190,12 +192,6 @@ const NewWindowPopup: React.FC = ({ String(new Date().getFullYear()) ); }, []); - useEffect(() => { - if (seletectedLayerNm && seletectedLayerNm === getSelectedLayers()) { - console.log('레이어명이 일치하여 상세보기 비활성화'); // 디버깅 로그 추가 - setViewMode('list') - } - }, [seletectedLayerNm]); useEffect(() => { if (featureData) { @@ -205,7 +201,7 @@ const NewWindowPopup: React.FC = ({ setPbnstRuseFcltPk(featureCd); // 현재 호출된 featureCd 저장 setActiveTab(featureCd) fetchpbnstDetail(featureCd); // 상세정보 - setViewMode("detail"); // 상세 보기 활성화 + setViewMode && setViewMode("detail"); // 상세 보기 활성화 } } }, [featureData]); @@ -337,7 +333,7 @@ const NewWindowPopup: React.FC = ({ } if (isRain) { - if (showDetailView) { + if (viewMode == 'detail') { // 빗물이용시설 상세 return ( <> @@ -377,7 +373,7 @@ const NewWindowPopup: React.FC = ({ } if (isRswt) { - if (showDetailView) { + if (viewMode == 'detail') { // 중수도시설 상세 return ( <> @@ -417,7 +413,7 @@ const NewWindowPopup: React.FC = ({ } if (isHtdfl) { - if (showDetailView) { + if (viewMode == 'detail') { // 온배수시설 상세 return ( <>