import {React, useState} from 'react' import {SbTitle, SbSub} from './Sb.style' import { FcFolder, FcOpenedFolder, FcFile } from 'react-icons/fc' import { AiOutlinePlusSquare, AiOutlineMinusSquare } from 'react-icons/ai' const SbItem = ({item, openDocCode, updateDocCode}) => { const find = (array, openDocCode) => { var result; array.some(o => result = o.doc_code === openDocCode ? o : find(o.childrens || [], openDocCode)); return result; }; const collapsedFlag = find(item.childrens, openDocCode) !== undefined; // openDocCode === item.doc_code+' '+item.doc_code_name const [collapsed, setCollapsed] = useState(collapsedFlag); const [isOpenDoc, setIsOpenDoc] = useState(item.doc_code === openDocCode); function toggleCollapse() { setCollapsed(prevValue => !prevValue); } function changeOpenDoc(){ setIsOpenDoc(prevValue => !prevValue) } if(item.childrens.length > 0){ const icon1 = collapsed?:; const icon2 = collapsed?:; return (
{icon1}{icon2} {(item.doc_level === 1?'':item.doc_code)+' '+item.doc_code_name} {item.childrens.map((child) => ( ))}
) }else{ const icon = ; return ( { changeOpenDoc() updateDocCode(item.doc_code, item.doc_code_name) }}>{icon} {(item.doc_level === 1?'':item.doc_code)+' '+item.doc_code_name} ) } } export default SbItem