UNPKG

orgchart

Version:

Simple and direct organization chart(tree-like hierarchy) library based on pure DOM.

75 lines (69 loc) 2.62 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>OrgChart Reload Data Demo</title> <link rel="icon" href="img/logo.png"> <link rel="stylesheet" href="css/orgchart.css"> <link rel="stylesheet" href="css/style.css"> <style type="text/css"> button { padding: 0.5rem 1rem; font-size: 1rem; } </style> </head> <body> <section class="demo-notes"> <h1>Reload Data Demo</h1> <p>This demo re-initializes the same chart container with different datasources so you can compare how option changes refresh the chart.</p> </section> <button style="margin: 10px;" id="btn-chart1">chart 1</button> <button style="margin: 10px;" id="btn-chart2">chart 2</button> <button style="margin: 10px;" id="btn-chart3">chart 3</button> <div id="chart-container"></div> <script type="text/javascript" src="js/orgchart.js"></script> <script type="text/javascript"> document.addEventListener('DOMContentLoaded', () => { const datasource = { 'name': 'Lao Lao', 'title': 'general manager', 'children': [ { 'name': 'Bo Miao', 'title': 'department manager' }, { 'name': 'Su Miao', 'title': 'department manager' }, { 'name': 'Yu Jie', 'title': 'department manager' }, { 'name': 'Yu Li', 'title': 'department manager' }, { 'name': 'Hong Miao', 'title': 'department manager' }, { 'name': 'Yu Wei', 'title': 'department manager' }, { 'name': 'Chun Miao', 'title': 'department manager' }, { 'name': 'Yu Tie', 'title': 'department manager' } ] }; const oc = new OrgChart({ chartContainer: '#chart-container', 'data' : datasource, 'nodeContent': 'title' }); document.getElementById('btn-chart1').addEventListener('click', () => { oc.init({ 'data': datasource }); }); document.getElementById('btn-chart2').addEventListener('click', () => { const data = { 'name': 'Su Miao', 'title': 'department manager', 'children': [ { 'name': 'Tie Hua', 'title': 'senior engineer' }, { 'name': 'Hei Hei', 'title': 'senior engineer' } ] }; oc.init({ 'data': data }); }); document.getElementById('btn-chart3').addEventListener('click', () => { const data = { 'name': 'Hei Hei', 'title': 'senior engineer', 'children': [ { 'name': 'Pang Pang', 'title': 'engineer' }, { 'name': 'Dan Zai', 'title': 'UE engineer' }, { 'name': '2Dan Zai', 'title': 'UE engineer' } ] }; oc.init({ 'data': data }); }); }); </script> </body> </html>