mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-12-21 03:15:28 -05:00
feat: cargo project at root
This commit is contained in:
parent
aa0c0623ca
commit
709a2820c4
313 changed files with 1 additions and 740 deletions
50
src-gui/src/renderer/components/other/JSONViewTree.tsx
Normal file
50
src-gui/src/renderer/components/other/JSONViewTree.tsx
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
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 (
|
||||
<TreeItem nodeId={nodeId} label={key} key={nodeId}>
|
||||
{renderTree(nodes[key], nodeId)}
|
||||
</TreeItem>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<TreeItem
|
||||
nodeId={nodeId}
|
||||
label={`${key}: ${nodes[key]}`}
|
||||
key={nodeId}
|
||||
/>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<ScrollablePaperTextBox
|
||||
title={label}
|
||||
copyValue={JSON.stringify(data, null, 4)}
|
||||
rows={[
|
||||
<TreeView
|
||||
defaultCollapseIcon={<ExpandMoreIcon />}
|
||||
defaultExpandIcon={<ChevronRightIcon />}
|
||||
defaultExpanded={['root']}
|
||||
>
|
||||
<TreeItem nodeId="root" label={label}>
|
||||
{renderTree(data ?? {}, 'root')}
|
||||
</TreeItem>
|
||||
</TreeView>,
|
||||
]}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue