React organogram
React organogram working example on codesandbox.
Organogram component
import { useRef, useEffect } from "react";
import organogram from "@jsuites/organogram";
import "@jsuites/organogram/organogram.css";
export default function Organogram({ options }) {
const organogramRef = useRef(null);
const jsuitesOrganogram = useRef(null);
useEffect(() => {
organogram(organogramRef.current, options);
}, [options]);
return <div ref={organogramRef} />;
}
Component usage
import Organogram from "./Organogram";
export default function App() {
return (
<>
<h3>Organogram example:</h3>
<Organogram
options={{
width: 600,
height: 300,
zoom: 0.2,
data: [
{
id: 1,
name: "Jorge",
role: "CEO",
parent: 0,
color: "#90EE90"
},
{
id: 2,
name: "Antonio",
role: "Vice president",
parent: 1,
color: "#90EE90"
},
{
id: 3,
name: "Manoel",
role: "Production manager",
parent: 1,
color: "#D3D3D3"
},
{
id: 4,
name: "Pedro",
role: "Intern",
parent: 3,
color: "#90EE90"
},
{
id: 5,
name: "Carlos",
role: "Intern",
parent: 3,
color: "#90EE90"
},
{
id: 6,
name: "Marcos",
role: "Marketing manager",
parent: 2,
color: "#D3D3D3"
},
{
id: 7,
name: "Ana",
role: "Sales manager",
parent: 2,
color: "#90EE90"
},
{
id: 8,
name: "Nicolly",
role: "Operations manager",
parent: 2,
color: "#D3D3D3"
},
{
id: 9,
name: "Paulo",
role: "Sales assistant",
parent: 7,
color: "#90EE90"
},
{
id: 10,
name: "Iris",
role: "Sales assistant",
parent: 7,
color: "#90EE90"
}
]
}}
/>
</>
);
}
Note: It is necessary to maintain a link in index.html or some other method to use material design icons, such as the following link:
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet"
/>