import {React, useCallback, useEffect, useState} from "react"; import Modal from "react-bootstrap/Modal"; import * as EgovNet from "../../../api/egovFetch"; import {VwDiv} from "./Vw.style"; import Col from "react-bootstrap/Col"; import Row from "react-bootstrap/Row"; const BookmarkModal = ({docCode, docPart, ymd}) => { const [modalTitle, setModalTitle] = useState(); const [modalBody, setModalBody] = useState(); const [docInfo, setDocInfo] = useState(); const getModalContent = useCallback((selectedYmd) => { EgovNet.requestFetch( '/standardCode/getCodeDetailInfo.do', { method: "POST", headers: { 'Content-type': 'application/json' }, body: JSON.stringify({ docCode: docCode, docPart: docPart, ymd: selectedYmd===undefined?ymd:selectedYmd }) }, (resp) => { let bodyTag = [] if(resp.result.document.length>0){ resp.result.document.forEach(function (item, index){ const isTitle = item.full_content.includes(item.group_title); if(item.cont_label === docPart){ setModalTitle(item.group_title); } if(item.full_content.includes(" ) }) } setModalBody(bodyTag); }, (resp) => { console.log("err response : ", resp); } ); }) const getCodeInfo = useCallback(() => { console.groupCollapsed("EgovMain.getCodeInfo()"); EgovNet.requestFetch( '/standardCode/getCodeInfo.do', { method: "POST", headers: { 'Content-type': 'application/json' }, body: JSON.stringify({ docCode: docCode }) }, (resp) => { const docInfo = resp.result.docInfo; // 헤더 연도 선택지 구성 let headTag = []; if(docInfo.length>0){ let optionTag = []; let activeIndex = 0; let docTitle = ""; docInfo.forEach(function (item, index){ if(new Date(item.rvsn_ymd) <= new Date(ymd)){ activeIndex = index; docTitle = item.doc_nm } }) docInfo.forEach(function (item, index){ let buttonClass = "btn btn-sm modalDocInfoBtn " let pClass = "modalYearInfo "; if(item.doc_er === 'E'){ buttonClass += "btn-success " }else{ buttonClass += "btn-primary " } if(index === activeIndex){ pClass += "modalYearInfoActive" buttonClass += "modalDocInfoActive" } optionTag.push(

{item.doc_yr}

) }) headTag.push( {docCode} {docTitle} {optionTag} ) }else{ headTag.push(
검색된 결과가 없습니다.
); // 코드 목록 초기값 } setDocInfo(headTag); } ) }) const docInfoSelectorChange = useCallback((el) => { setModalBody([
불러오는중
]) const activeBtn = document.querySelector(".modalDocInfoActive") activeBtn.className = activeBtn.className.replace('modalDocInfoActive', '').trim(); const activeP = document.querySelector(".modalYearInfoActive") activeP.className = activeP.className.replace('modalYearInfoActive', '').trim(); const clickBtn = el.target; clickBtn.className += " modalDocInfoActive"; clickBtn.parentElement.querySelector("p").className += " modalYearInfoActive" getModalContent(clickBtn.dataset.ymd); }) useEffect(() => { getModalContent(); getCodeInfo(); }, []); return ( <> {docInfo} {modalTitle} {modalBody} ); } export default BookmarkModal