import smh from "../popupComponent/smh"; import Ssc from "../popupComponent/Ssc"; import SwtrmtFclt from "../popupComponent/SwtrmtFclt"; // 레이어 이름과 컴포넌트를 매핑 const layerContentMap: { [key: string]: { component?: React.FC ; props?: any; } } = { // TODO: gis데이터 추가되면 추가 작업 필요 "하수처리시설": { component: SwtrmtFclt, }, "하수처리구역": { }, "중점우수토실":{component: Ssc,}, "하수관로":{component: SwtrmtFclt,}, "하수맨홀":{component: smh,}, }; // 동적 컴포넌트 반환 함수 export const getLayerContentComponent = (layerNm: string): React.FC => { const component = layerContentMap[layerNm]; if (!component || !component.component) { // component가 없으면 null 반환 return () => null; } return component.component; }; // 사용자 입력 필드 (보수 및 갱신, 청소 및 준설, 점검 및 진단) export const handleInputChange = (section: string, index: number, field: string, value: string, dataMap: { [key: string]: { data: { year: string; type: string }[]; setData: React.Dispatch>; }; } ) => { const target = dataMap[section]; if (!target) return; const updated = [...target.data]; if (updated[index]) { updated[index][field as keyof typeof updated[number]] = value; } target.setData(updated); };