= ({
onChange={(e) => {
setVar1(e.target.value);
}}
+ onKeyDown={handleEnterKey}
/>
= ({
onChange={(e) => {
setVar2(e.target.value);
}}
+ onKeyDown={handleEnterKey}
/>
{/* 조회 버튼 */}
diff --git a/apps/sn/app/page.tsx b/apps/sn/app/page.tsx
index 9bfdbb656..27dd1de1c 100644
--- a/apps/sn/app/page.tsx
+++ b/apps/sn/app/page.tsx
@@ -7,8 +7,8 @@ import { useRouter } from "next/navigation";
export default function Home() {
const router = useRouter();
- const userId = "admin1gmail";
- const password = "test1234!";
+ const userId = "CLEANWATER";
+ const password = "gktneh12!@";
const checkToken = getCookie(AUTH_USER_ID);
useEffect(() => {
diff --git a/packages/common/business_components/src/ui/map/Gis.js b/packages/common/business_components/src/ui/map/Gis.js
index 4969795af..d25d06056 100644
--- a/packages/common/business_components/src/ui/map/Gis.js
+++ b/packages/common/business_components/src/ui/map/Gis.js
@@ -85,7 +85,7 @@ export const searchUpperPpls = async (fcltMngNo) => {
function Gis({
- isOpen,
+ isOpen, //우측 상세 레이어 팝업
gisMaps,
isSearchModalOpen,
treeData = [],
@@ -100,7 +100,7 @@ function Gis({
onFeatureSelect,
setIsSearchModalOpen,
onCheckedLayersChange,
- setData
+ setData = () => {},
}) {
const mapRef = useRef();
@@ -130,91 +130,95 @@ function Gis({
// Feature Click Event
const handleFeatureSelect = useCallback((data) => {
- gisMap = mapInstanceRef.current;
+ // gisMap = mapInstanceRef.current;
- if (!gisMap) {
- console.warn('지도가 초기화되지 않았습니다.');
- return;
- }
+ // if (!gisMap) {
+ // console.warn('지도가 초기화되지 않았습니다.');
+ // return;
+ // }
- // 항상 같은 select 객체 사용
- const select = GisApp.Module.select;
- if (!select) return;
+ // // 항상 같은 select 객체 사용
+ // const select = GisApp.Module.select;
+ // if (!select) return;
- // 1. 기존 선택 초기화
- select.resetSelectedFeature();
+ // // 1. 기존 선택 초기화
+ // select.resetSelectedFeature();
- // 2. data가 OpenLayers Feature 인스턴스인지 확인
- let foundFeature = null;
- if (data && typeof data.getGeometry === 'function' && typeof data.setStyle === 'function') {
- // 이미 Feature 인스턴스라면 그대로 사용
- foundFeature = data;
- } else {
- // 아니면 featureId로 맵에서 Feature 인스턴스를 찾아서 사용
- let featureId = data.fid;
- const layerName = layerNmRef.current
- if (layerName === '하수재이용시설') {
- featureId = data.searchPk;
- } else if (layerName === '빗물이용시설' || layerName == '중수도시설') {
- featureId = data.bdstInfoSn;
- } else if (layerName === '하수처리시설') {
- featureId = data.bscFctCd;
- } else if (layerName === '온배수시설') {
- featureId = data.bdstRuseFcltSn;
- } else if(layerName == '수요처'){
- featureId = data.dmdInfoId.replaceAll('-','')
- }
- else {
- console.warn('해당 레이어에 대한 featureId 매핑 없음', layerNm);
- featureId = data.fid || data.id || data.ftrIdn;
- }
- // gisMap.getLayers().getArray().forEach(layer => {
- // const source = layer.getSource?.();
- // if (source?.getFeatureById) {
- // const feature = source.getFeatureById(String(featureId).trim());
- // if (feature) foundFeature = feature;
- // }
- // });
- // const [layerType, id] = String(featureId).split('.');
- gisMap.getLayers().getArray().forEach(layer => {
- const source = layer.getSource?.();
- if (source?.getFeatures) {
- const allFeatures = source.getFeatures();
- for (const f of allFeatures) {
- const id = String(f.getId());
- // console.log('id', id, featureId)
- if (id && id.split('.')[1] === String(featureId)) {
- foundFeature = f;
- break;
- }
- }
- }
- });
- }
+ // // 2. data가 OpenLayers Feature 인스턴스인지 확인
+ // let foundFeature = null;
+ // if (data && typeof data.getGeometry === 'function' && typeof data.setStyle === 'function') {
+ // // 이미 Feature 인스턴스라면 그대로 사용
+ // foundFeature = data;
+ // } else {
+ // // 아니면 featureId로 맵에서 Feature 인스턴스를 찾아서 사용
+ // let featureId = data.fid;
+ // const layerName = layerNmRef.current
+ // if (layerName === '하수재이용시설') {
+ // featureId = data.searchPk;
+ // } else if (layerName === '빗물이용시설' || layerName == '중수도시설') {
+ // featureId = data.bdstInfoSn;
+ // } else if (layerName === '하수처리시설') {
+ // featureId = data.bscFctCd;
+ // } else if (layerName === '온배수시설') {
+ // featureId = data.bdstRuseFcltSn;
+ // } else if(layerName == '수요처'){
+ // featureId = data.dmdInfoId.replaceAll('-','')
+ // }
+ // else {
+ // console.warn('해당 레이어에 대한 featureId 매핑 없음', layerNm);
+ // featureId = data.fid || data.id || data.ftrIdn;
+ // }
+ // // gisMap.getLayers().getArray().forEach(layer => {
+ // // const source = layer.getSource?.();
+ // // if (source?.getFeatureById) {
+ // // const feature = source.getFeatureById(String(featureId).trim());
+ // // if (feature) foundFeature = feature;
+ // // }
+ // // });
+ // // const [layerType, id] = String(featureId).split('.');
+ // gisMap.getLayers().getArray().forEach(layer => {
+ // const source = layer.getSource?.();
+ // if (source?.getFeatures) {
+ // const allFeatures = source.getFeatures();
+ // for (const f of allFeatures) {
+ // const id = String(f.getId());
+ // // console.log('id', id, featureId)
+ // if (id && id.split('.')[1] === String(featureId)) {
+ // foundFeature = f;
+ // break;
+ // }
+ // }
+ // }
+ // });
+ // }
- // 3. 피처 선택
- if (foundFeature) {
- let geometry = foundFeature.getGeometry();
- if (geometry) {
- let extent = geometry.getExtent();
+ // // 3. 피처 선택
+ // if (foundFeature) {
+ // let geometry = foundFeature.getGeometry();
+ // if (geometry) {
+ // let extent = geometry.getExtent();
- gisMap.getView().fit(extent, {
- duration: 300,
- padding: [50, 50, 50, 50],
- maxZoom: 16,
- constrainResolution: true,
- nearest: true,
- });
- }
- select.selectFeature(foundFeature, true);
- } else {
- console.warn('OpenLayers Feature를 찾을 수 없습니다:', data);
- }
+ // gisMap.getView().fit(extent, {
+ // duration: 300,
+ // padding: [50, 50, 50, 50],
+ // maxZoom: 16,
+ // constrainResolution: true,
+ // nearest: true,
+ // });
+ // }
+ // select.selectFeature(foundFeature, true);
+ // } else {
+ // console.warn('OpenLayers Feature를 찾을 수 없습니다:', data);
+ // }
- setFeatureData(data);
- setIsOpen(true);
- setIsSearchModalOpen(false);
- onFeatureSelect?.(data); // 선택된 피쳐 데이터 콜백 호출
+ // setFeatureData(data);
+ // setIsOpen(true);
+ // setIsSearchModalOpen(false);
+
+
+
+
+ onFeatureSelect?.(data); // 선택된 피쳐 데이터 콜백 호출
}, [mapInstanceRef]);
// 지도 생성 및 초기화
diff --git a/packages/common/business_components/src/ui/tab/index.tsx b/packages/common/business_components/src/ui/tab/index.tsx
index a762c5c62..273a4b907 100644
--- a/packages/common/business_components/src/ui/tab/index.tsx
+++ b/packages/common/business_components/src/ui/tab/index.tsx
@@ -20,7 +20,7 @@ const UITab = React.forwardRef<
return (