팝업 진행중
This commit is contained in:
@@ -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}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -23,6 +23,8 @@ interface NewWindowPopupProps {
|
||||
checkedLayers?: string[];
|
||||
checkedLayersData?: any[];
|
||||
seletectedLayerNm?: string
|
||||
viewMode?:string
|
||||
setViewMode?:React.Dispatch<React.SetStateAction<String>>;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
@@ -41,15 +43,15 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
|
||||
checkedLayers = [],
|
||||
checkedLayersData = [],
|
||||
seletectedLayerNm,
|
||||
viewMode,
|
||||
setViewMode,
|
||||
onClose
|
||||
}) => {
|
||||
const { gisMap } = useGisContext() as unknown as { checkedLayerIds: React.MutableRefObject<number[]>; treeData: { lyrSn: number }[] | null; gisCore: any; gisMap: any; };
|
||||
const [tabData, setTabData] = useState<{ id: string; name: string; data: any }[]>([]);
|
||||
const [activeTab, setActiveTab] = useState<string>('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<NewWindowPopupProps> = ({
|
||||
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<NewWindowPopupProps> = ({
|
||||
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<NewWindowPopupProps> = ({
|
||||
setPbnstRuseFcltPk(featureCd); // 현재 호출된 featureCd 저장
|
||||
setActiveTab(featureCd)
|
||||
fetchpbnstDetail(featureCd); // 상세정보
|
||||
setViewMode("detail"); // 상세 보기 활성화
|
||||
setViewMode && setViewMode("detail"); // 상세 보기 활성화
|
||||
}
|
||||
}
|
||||
}, [featureData]);
|
||||
@@ -337,7 +333,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
|
||||
}
|
||||
|
||||
if (isRain) {
|
||||
if (showDetailView) {
|
||||
if (viewMode == 'detail') {
|
||||
// 빗물이용시설 상세
|
||||
return (
|
||||
<>
|
||||
@@ -377,7 +373,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
|
||||
}
|
||||
|
||||
if (isRswt) {
|
||||
if (showDetailView) {
|
||||
if (viewMode == 'detail') {
|
||||
// 중수도시설 상세
|
||||
return (
|
||||
<>
|
||||
@@ -417,7 +413,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
|
||||
}
|
||||
|
||||
if (isHtdfl) {
|
||||
if (showDetailView) {
|
||||
if (viewMode == 'detail') {
|
||||
// 온배수시설 상세
|
||||
return (
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user