import React, {useState, useEffect, useRef} from 'react'; import {Link, useNavigate, useLocation, useParams} from 'react-router-dom'; import Modal from "react-bootstrap/Modal"; import * as EgovNet from 'api/egovFetch'; import URL from 'constants/url'; import CODE from 'constants/code'; import {default as EgovLeftNav} from 'components/leftmenu/EgovLeftNavAdmin'; import EgovRadioButtonGroup from 'components/EgovRadioButtonGroup'; import {Form} from "react-bootstrap"; function AboutSiteModal({props, reloadFunction}) { console.group("AboutSiteModal"); console.log("[Start] AboutSiteModal ------------------------------"); console.log("AboutSiteModal [props] : ", props); const navigate = useNavigate(); const location = useLocation(); const checkRef = useRef([]); console.log("AboutSiteModal [location] : ", location); let item = null; item = props; console.log("@@@ item : " + JSON.stringify(item)); const [modeInfo, setModeInfo] = useState(item != null ? {mode: props.mode} : {mode: CODE.MODE_CREATE}); const [boardDetail, setBoardDetail] = useState({}); console.log("@@@ mode : " + modeInfo.mode); useEffect(() => { initMode(); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const initMode = () => { if (modeInfo.mode === CODE.MODE_MODIFY) { setBoardDetail(item); } } function editPartnerSite(e) { e.preventDefault(); e.stopPropagation(); const form = e.target; const info = { siteTitle: form.siteTitle.value, siteUrl: form.siteUrl.value, fileGrpId: form.fileGrpId.value, siteOrder: form.siteOrder.value, useYn: form.useYn.value } if (modeInfo.mode === CODE.MODE_MODIFY) { info.siteSeq = props.siteSeq; } EgovNet.requestFetch( '/admin/config/partner-site-mgt', { method: "PUT", headers: { 'Content-type': 'application/json' }, body: JSON.stringify(info) }, (resp) => { if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { alert("저장되었습니다."); reloadFunction(); } else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) { console.log("토큰 갱신중.") } else { alert(resp.result.resultMessage) } } ) } function deletePartnerSite(partnerSite){ if(window.confirm("삭제하시겠습니까?")) { EgovNet.requestFetch( '/admin/config/partner-site-mgt', { method: "DELETE", headers: { 'Content-type': 'application/json' }, body: JSON.stringify(partnerSite) }, (resp) => { if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { alert("삭제되었습니다.") reloadFunction(); } else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) { console.log("토큰 갱신중.") } else { alert(resp.result.resultMessage) } } ) } } console.log("------------------------------AboutSiteModal [End]"); console.groupEnd("AboutSiteModal"); const defaultUseYn = props?.useYn ? props.useYn : "Y"; return ( <> {/* */} {modeInfo.mode === CODE.MODE_CREATE && '관련사이트 생성'} {modeInfo.mode === CODE.MODE_MODIFY && '관련사이트 수정'} {editPartnerSite(e)}} noValidate> 사이트명필수 URL필수 배너이미지필수 정렬순서필수 사용여부필수 {/* */} 저장 {modeInfo.mode === CODE.MODE_MODIFY && {deletePartnerSite(props)}}>삭제 } {reloadFunction()}}>목록 {/* */} > ); } export default AboutSiteModal;