kcscDev/egovframe-template-simple-r.../src/pages/standardCode/SbItem.js

45 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-10-13 08:59:12 +00:00
import {React, useState} from 'react'
2023-10-16 09:00:12 +00:00
import { useNavigate } from 'react-router-dom';
2023-10-13 08:59:12 +00:00
import {SbTitle, SbSub, SbLink} from './Sb.style'
import { FcFolder, FcOpenedFolder, FcFile } from 'react-icons/fc'
import { AiOutlinePlusSquare, AiOutlineMinusSquare } from 'react-icons/ai'
const SbItem = ({ item }) => {
const [collapsed, setCollapsed] = useState(false);
2023-10-16 09:00:12 +00:00
const navigate = useNavigate();
2023-10-13 08:59:12 +00:00
function toggleCollapse() {
setCollapsed(prevValue => !prevValue);
}
if(item.childrens.length > 0){
const icon1 = collapsed?<AiOutlinePlusSquare />:<AiOutlineMinusSquare />;
const icon2 = collapsed?<FcOpenedFolder />:<FcFolder />;
return (
<div>
<SbTitle depth={item.doc_level} onClick={toggleCollapse}>{icon1}{icon2}&nbsp;{(item.doc_level === 1?'':item.doc_code)+' '+item.doc_code_name}</SbTitle>
<SbSub isOpen={collapsed}>
{item.childrens.map((child) => (
<SbItem item={child} />
))}
</SbSub>
</div>
)
}else{
const icon = <FcFile />;
return (
<SbTitle depth={item.doc_level}>
2023-10-16 09:00:12 +00:00
{/*<a onClick={()=>{
navigate('/standardCode/viewer', {
state:{
docCode: item.doc_code
}
})
}}>{icon}&nbsp;{(item.doc_level === 1?'':item.doc_code)+' '+item.doc_code_name}</a>*/}
<SbLink to={"/standardCode/viewer/"+item.doc_code}>{icon}&nbsp;{(item.doc_level === 1?'':item.doc_code)+' '+item.doc_code_name}</SbLink>
2023-10-13 08:59:12 +00:00
</SbTitle>
)
}
}
export default SbItem