diff --git a/apps/wr/app/map/newWindowPopup.tsx b/apps/wr/app/map/newWindowPopup.tsx index e74e64657..3eadf493d 100644 --- a/apps/wr/app/map/newWindowPopup.tsx +++ b/apps/wr/app/map/newWindowPopup.tsx @@ -91,7 +91,6 @@ const NewWindowPopup: React.FC = ({ }>({ data: undefined }); const [hasuTable, setHasuTable] = useState(); const [hasuPage, setHasuPage] = useState(1); - if (!featureData) return; ///////////////////////////////////////////// 피쳐데이터 선택 시 각 시설별 데이터 처리 /////////////////////////////////////////////// const getSelectedLayers = () => { let result = null; @@ -222,7 +221,7 @@ const NewWindowPopup: React.FC = ({ sidoText: "", sigunText: "" }, String(new Date().getFullYear()), pbnstSttn.fclts); - }, [fclts]) + }, [fclts, pbnSttnInit, pbnstSttn.fclts]) useEffect(() => { setBdstTable(pbnstSttn.pbnstSttnRes); }, [seletectedLayerNm, pbnstSttn.pbnstSttnRes]); @@ -257,7 +256,7 @@ const NewWindowPopup: React.FC = ({ "", String(new Date().getFullYear()), fclts ); - }, []); + }, [fclts, pbnstSttnSearch]); // FIXME: 윤선화차장님 요구사항으로 엑셀 다운로드 삭제. // const excelClick = useCallback(() => { // // if (codeData) pbnstSttnSearch(1, "10000", codeData); @@ -289,7 +288,7 @@ const NewWindowPopup: React.FC = ({ if (!rainSttn.isInit) { rainSttnInit(false, 1, "20", "0", '', code.cityCd, code.sggCd); } - }, [rainSttn.isInit, rainSttnInit]); + }, [code.cityCd, code.sggCd, rainSttn.isInit, rainSttnInit]); useEffect(() => { const data = tableData(rainSttnRes, { code }); @@ -324,7 +323,7 @@ const NewWindowPopup: React.FC = ({ useEffect(() => { rainSttnSearch(false, rainPage, "20", '', '', code.cityCd, code.sggCd); - }, [rainPage]); + }, [code.cityCd, code.sggCd, rainPage, rainSttnSearch]); ///////////////////////////////////////////// 빗물 재이용 ////////////////////////////////////////////////// ///////////////////////////////////////////// 중수도 시설 ////////////////////////////////////////////////// @@ -341,7 +340,7 @@ const NewWindowPopup: React.FC = ({ if (!rswtSttn.isInit) { rswtSttnInit(false, 1, "20", "0", '', code.cityCd, code.sggCd); } - }, [rswtSttn.isInit, rswtSttnInit]); + }, [code.cityCd, code.sggCd, rswtSttn.isInit, rswtSttnInit]); useEffect(() => { const data = tableData(rswtSttnRes, { code }); @@ -378,12 +377,12 @@ const NewWindowPopup: React.FC = ({ useEffect(() => { rswtSttnSearch(false, rswtrPage, "20", '', '', code.cityCd, code.sggCd); - }, [rswtrPage]); + }, [code.cityCd, code.sggCd, rswtSttnSearch, rswtrPage]); ///////////////////////////////////////////// 중수도 시설 ////////////////////////////////////////////////// ///////////////////////////////////////////// 온배수 시설 ////////////////////////////////////////////////// // 온배수시설 cellClick 이벤트 (상세정보) - const htdflCellClick = (index: number | undefined, headId: string) => { + const htdflCellClick = (index: number | undefined) => { if (index !== undefined && htdflTable !== undefined) { onFeatureSelect(htdflTable[index]); onClose(); @@ -393,7 +392,7 @@ const NewWindowPopup: React.FC = ({ if (!htdflSttn.isInit) { initHtdfl(false, 1, "20", "0", '', code.cityCd, code.sggCd); } - }, [htdflSttn.isInit, initHtdfl]); + }, [code.cityCd, code.sggCd, htdflSttn.isInit, initHtdfl]); useEffect(() => { const data = tableData(htdflSttnRes, { code }); @@ -410,7 +409,7 @@ const NewWindowPopup: React.FC = ({ useEffect(() => { htdflSttnSearch(true, htdflPage, "20", '', '', code.cityCd, code.sggCd); - }, [htdflPage]); + }, [code.cityCd, code.sggCd, htdflPage, htdflSttnSearch]); ///////////////////////////////////////////// 온배수 시설 ////////////////////////////////////////////////// ///////////////////////////////////////////// 하수처리 시설 ////////////////////////////////////////////////// @@ -426,7 +425,7 @@ const NewWindowPopup: React.FC = ({ }, [pbnst.isInit, pubHasuInit]); useEffect(() => { pubHasuInit(String(hasuPage), "0"); - }, [hasuPage]); + }, [hasuPage, pubHasuInit]); const hasuCellClick = (index: number | undefined) => { if (index !== undefined && pbnstHasuRes !== undefined) { @@ -439,7 +438,7 @@ const NewWindowPopup: React.FC = ({ // 체크된 레이어에 따른 조건부 컴포넌트 렌더링 함수 const renderConditionalContent = () => { const actTabData = tabData.find((tab) => tab.id === activeTab); - let layerId = getSelectedLayers(); + let layerId:string | undefined | null = getSelectedLayers(); if (layerId === null || layerId === undefined) { layerId = seletectedLayerNm || ''; } @@ -651,8 +650,8 @@ const NewWindowPopup: React.FC = ({ headlist={htdflSttn.htdflSttHeadList} pageSize={20} total={htdflSttnResCount || 0} - cellClick={(index: number | undefined, headId: string) => { - htdflCellClick(index ?? undefined, headId); + cellClick={(index: number | undefined) => { + htdflCellClick(index ?? undefined); }} onPageChange={setHtdflPage} >