From a94030417762b2060314dd6e526522a72cf8eb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 24 Oct 2023 09:46:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=81=EB=A7=88=ED=81=AC=20=EC=98=A8?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80.=20=EB=B6=81=EB=A7=88=ED=81=AC=20=EB=AA=A8=EB=8B=AC?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/css/page.css | 4 +- .../src/pages/standardCode/viewer.js | 77 ++++++++++++++----- 2 files changed, 60 insertions(+), 21 deletions(-) diff --git a/egovframe-template-simple-react-contribution/src/css/page.css b/egovframe-template-simple-react-contribution/src/css/page.css index 7359c1a..db63189 100644 --- a/egovframe-template-simple-react-contribution/src/css/page.css +++ b/egovframe-template-simple-react-contribution/src/css/page.css @@ -313,8 +313,8 @@ background-color: palegreen } .docLink:hover{cursor: pointer} - .docPart{ + .bookmark{ color: forestgreen; } - .docPart:hover{cursor: pointer} + .bookmark:hover{cursor: pointer} .errorText{color:red; font-size: x-small; vertical-align: bottom; padding-right: 10px;} \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js b/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js index 0b009af..21a9455 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js @@ -4,6 +4,8 @@ import SbItem from './SbItem' import {SbContainer, VwDiv, VwPtag} from './Sb.style' import Row from 'react-bootstrap/Row'; import Col from 'react-bootstrap/Col'; +import Button from 'react-bootstrap/Button'; +import Modal from 'react-bootstrap/Modal' import * as EgovNet from 'api/egovFetch'; function CodeViewer(props) { @@ -13,6 +15,9 @@ function CodeViewer(props) { const [codeTree, setCodeTree] = useState(); const [docSummary, setDocSummary] = useState(); const [docDetail, setDocDetail] = useState(); + const [show, setShow] = useState(false); + const [modalTitle, setModalTitle] = useState(); + const [modalBody, setModalBody] = useState(); console.group("viewer"); console.log("[Start] viewer ------------------------------"); @@ -21,6 +26,9 @@ function CodeViewer(props) { console.log("viewer [location] : ", location); console.log("viewer [docCode] : ", docCode); + const handleClose = () => setShow(false); + const handleShow = () => setShow(true); + const updateDocCode = (docCode, docName)=>{ setDocCode(docCode); setDocName(docName); @@ -64,7 +72,6 @@ function CodeViewer(props) { } ); } - const getCodeDetailInfo = useCallback((docCode) => { console.groupCollapsed("EgovMain.getCodeDetailInfo()"); EgovNet.requestFetch( @@ -83,6 +90,7 @@ function CodeViewer(props) { let summaryTag = []; // 문서 전문 구성 let detailTag = []; + if(resp.result.document.length>0){ const docLinkReg = /([A-Z]{3,5}(\s[0-9]{2}){3,4})/g const docPartReg = /\((?:표|그림|부록)?\s*([A-Z]\.)?(?!\d\))\d+(\.\d+)*(\s?\(\d\))?(-\d+)?(?:\s*[A-Z])?\)/g // /(\((?:표|그림|부록)?\s*([A-Z]\.)?\d+(\.\d+)*(\s?\(\d\))?(-\d+)?(?:\s*[A-Z])?\))/g @@ -115,7 +123,7 @@ function CodeViewer(props) { for(let i=0; i'+ + ''+ ''+ ''); } @@ -147,6 +155,20 @@ function CodeViewer(props) { console.groupEnd("EgovMain.getCodeDetailInfo()"); },[]); + const bookmarkBtnActionAppend = (el) =>{ + if(!el) return; + if(el.childNodes.length===0){ + return + }else{ + const bookmarkList = el.getElementsByClassName("bookmark") + for(let bookmark of bookmarkList){ + bookmark.onclick = () => { + debugger + // handleShow() + } + } + } + } useEffect(() => { getCodeTree(); @@ -156,23 +178,40 @@ function CodeViewer(props) { console.log("------------------------------viewer [End]"); console.groupEnd("viewer"); return ( - - - - - {docCode} {docName} - - - - {codeTree} - - - {docSummary} - - - {docDetail} - - + <> + + + + + {docCode} {docName} + + + + {codeTree} + + + {docSummary} + + + {docDetail} + + + + + + {modalTitle} + + + + {modalBody} + + + + + + ); }