import React, { useState, useEffect, useCallback } from 'react';
import { useLocation, useParams } from 'react-router-dom';
import SbItem from './SbItem'
import Loading from '../../components/Loading'
import BookmarkModal from './BookmarkModal';
import {SbContainer, VwDiv, VwPtag} from './Sb.style'
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Modal from 'react-bootstrap/Modal';
import * as EgovNet from 'api/egovFetch';
function CodeViewer(props) {
const [treeLoading, setTreeLoading] = useState(true);
const [docLoading, setDocLoading] = useState(true);
const {linkedDocCode} = useParams();
const [docCode, setDocCode] = useState(linkedDocCode !== undefined?linkedDocCode:props.docCode);
const [docName, setDocName] = useState(props.docName);
const [codeTree, setCodeTree] = useState();
const [docSummary, setDocSummary] = useState();
const [docDetail, setDocDetail] = useState();
const [show, setShow] = useState(false);
const [bookMarkModal, setBookMarkModal] = useState();
const handleClose = () => setShow(false);
const handleShow = () => setShow(true);
console.group("viewer");
console.log("[Start] viewer ------------------------------");
console.log("viewer [props] : ", props);
const location = useLocation();
console.log("viewer [location] : ", location);
console.log("viewer [docCode] : ", docCode);
const updateDocCode = (docCode, docName)=>{
setDocCode(docCode);
setDocName(docName);
getCodeDetailInfo(docCode);
}
const getCodeTree = ()=>{
EgovNet.requestFetch(
'/standardCode/getCodeTree.do',
{
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({})
},
(resp) => {
const menuData = resp.result.codeTree;
// 코드 목록 트리 구성
// https://garve32.tistory.com/52 참고
const nest = (menuData, parent_seq = null, link = 'parent_seq') =>
menuData.filter(item => item[link] === parent_seq)
.map(item => ({ ...item, childrens: nest(menuData, item.seq) }));
const tree = nest(menuData);
let treeTag = [];
if(tree.length>0){
treeTag.push(