import TreeView from '@material-ui/lab/TreeView'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import ChevronRightIcon from '@material-ui/icons/ChevronRight'; import TreeItem from '@material-ui/lab/TreeItem'; import ScrollablePaperTextBox from './ScrollablePaperTextBox'; interface JsonTreeViewProps { data: any; label: string; } export default function JsonTreeView({ data, label }: JsonTreeViewProps) { const renderTree = (nodes: any, parentId: string) => { return Object.keys(nodes).map((key, _) => { const nodeId = `${parentId}.${key}`; if (typeof nodes[key] === 'object' && nodes[key] !== null) { return ( {renderTree(nodes[key], nodeId)} ); } return ( ); }); }; return ( } defaultExpandIcon={} defaultExpanded={['root']} > {renderTree(data ?? {}, 'root')} , ]} /> ); }