import { ParentSize } from "@visx/responsive"; import TreeMap from "./TreeMap"; import { withJsonFormsControlProps } from "@jsonforms/react"; import { inputProps } from "../../interface/inputfieldProps"; import _ from "lodash"; import { useEffect, useState } from "react"; import { Divider } from "@mui/material"; import { ActionButton, adjustZoom, assignUniqueIds, getInitialDimensions, validate, } from "./TreeHelperComponents"; import { DimensionType } from "./interface"; function TreeMapWrapper(props: inputProps) { const { uischema, path, data } = props; const uischemaConfig = uischema?.config; const uiSchemaData = uischema?.config?.main; const dimensionInitial: DimensionType = getInitialDimensions(uiSchemaData); const [dimension, setDimension] = useState(dimensionInitial); const [zoom, setZoom] = useState(false); const [treeData, setTreeData] = useState(assignUniqueIds(validate(data))); useEffect(() => { if (!_.isEqual(data, treeData)) { setTreeData(assignUniqueIds(data)); } }, [data,data?.length]); return (
{uiSchemaData.header}
{({ width, height }) => ( )}
); } export default withJsonFormsControlProps(TreeMapWrapper);