Skip to content

Organization chart

Linked grids make a tree. Each team is as wide as its subtree, so no two teams overlap.

Edit it

Organization chartPlayground →
Organization chart: the layoutCEOCTOPlatformProductDataCFOFinanceCOOOperationsSupport

10 boxes, 9 edges. The audit finds no defect.

The input

The same layout in TypeScript. The input is plain data, so it can come from JSON.

org-chart.ts
import { layout } from "ireko";
const input = {
"root": {
"id": "ceo",
"label": "CEO",
"layout": {
"type": "grid",
"columns": 3
},
"children": [
{
"id": "cto",
"label": "CTO",
"layout": {
"type": "grid",
"columns": 3
},
"children": [
{
"id": "platform",
"label": "Platform"
},
{
"id": "product",
"label": "Product"
},
{
"id": "data",
"label": "Data"
}
]
},
{
"id": "cfo",
"label": "CFO",
"children": [
{
"id": "finance",
"label": "Finance"
}
]
},
{
"id": "coo",
"label": "COO",
"layout": {
"type": "grid",
"columns": 2
},
"children": [
{
"id": "ops",
"label": "Operations"
},
{
"id": "support",
"label": "Support"
}
]
}
]
}
};
const result = layout(input, {"router":"orthogonal"});