import ChevronRightIcon from "@mui/icons-material/ChevronRight";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import TreeItem from "@mui/lab/TreeItem";
import TreeView from "@mui/lab/TreeView";
import ScrollablePaperTextBox from "./ScrollablePaperTextBox";
interface JsonTreeViewProps {
data: unknown;
label: string;
}
export default function JsonTreeView({ data, label }: JsonTreeViewProps) {
const renderTree = (nodes: unknown, 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")}
,
]}
/>
);
}