Organization chart

Angular Bootstrap 5 Organization chart plugin

Responsive family tree chart built with the latest Bootstrap 5. Organize data with a branching visualization.

Note: Read the API tab to find all available options and advanced customization


Basic example

Create simple Organization Chart.

CEO

Director

Manager

Employee

Manager

Employee

Employee

Director

Manager

Employee

Employee

Manager

Employee

<mdb-organization-chart [data]="data"></mdb-organization-chart>
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  data = {
    label: 'CEO',
    children: [
      {
        label: 'Director',
        children: [
          { label: 'Manager', children: [{ label: 'Employee' }] },
          {
            label: 'Manager',
            children: [{ label: 'Employee' }, { label: 'Employee' }],
          },
        ],
      },
      {
        label: 'Director',
        children: [
          {
            label: 'Manager',
            children: [{ label: 'Employee' }, { label: 'Employee' }],
          },
          { label: 'Manager', children: [{ label: 'Employee' }] },
        ],
      },
    ],
  };
}

Advanced example

Create organization chart including avatar and name.

CIO

Walter White

Manager

Jon Snow

SE

Britney Morgan

Director

Jimmy McGill

PM

Phoebe Buffay

Operations

Kim Wexler

Development

Rachel Green

Manager

Michael Scott

SA

Pam Beasly

SP

Alex Morgan

R&D

Fran Kirby

<mdb-organization-chart [data]="data"></mdb-organization-chart>
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  data = {
    name: 'Walter White',
    label: 'CEO',
    avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/1.webp',
    children: [
      {
        label: 'Manager',
        name: 'Jon Snow',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/2.webp',
        children: [
          {
            label: 'SE',
            name: 'Britney Morgan',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/9.webp',
          },
        ],
      },
      {
        label: 'Director',
        name: 'Jimmy McGill',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/3.webp',
        children: [
          {
            label: 'PM',
            name: 'Phoebe Buffay',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/7.webp',
            children: [
              {
                label: 'Operations',
                avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/4.webp',
                name: 'Kim Wexler',
              },
              {
                label: 'Development',
                name: 'Rachel Green',
                avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/6.webp',
              },
            ],
          },
        ],
      },
      {
        label: 'Manager',
        name: 'Michael Scott',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/8.webp',
        children: [
          {
            label: 'SA',
            name: 'Pam Beasly',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/5.webp',
          },
          {
            label: 'SP',
            name: 'Alex Morgan',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/14.webp',
          },
        ],
      },
      {
        label: 'R&D',
        name: 'Fran Kirby',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/10.webp',
      },
    ],
  };
}

Mixed example

Create mixed organization chart.

CEO

Walter White

CFO

Jon Snow

Analysis

Sales

CMO

Kim Wexler

Marketing

CIO

Phoebe Buffay

Development

Chandler Bing

Analysis

Front End

Back End

QA

Rachel Green

R&D

Monica Geller

<mdb-organization-chart [data]="data"></mdb-organization-chart>
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  data = {
    name: 'Walter White',
    label: 'CEO',
    avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/1.webp',
    children: [
      {
        name: 'Jon Snow',
        label: 'CFO',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/2.webp',
        children: [
          {
            label: 'Analysis',
          },
          {
            label: 'Sales',
          },
        ],
      },
      {
        label: 'CMO',
        name: 'Kim Wexler',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/9.webp',
        children: [
          {
            label: 'Marketing',
          },
        ],
      },
      {
        label: 'CIO',
        name: 'Phoebe Buffay',
        avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/5.webp',
        children: [
          {
            label: 'Development',
            name: 'Chandler Bing',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/3.webp',
            children: [
              {
                label: 'Analysis',
              },
              {
                label: 'Front End',
              },
              {
                label: 'Back End',
              },
            ],
          },
          {
            label: 'QA',
            name: 'Rachel Green',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/10.webp',
          },
          {
            label: 'R&D',
            name: 'Monica Geller',
            avatar: 'https://mdbcdn.b-cdn.net/img/new/avatars/11.webp',
          },
        ],
      },
    ],
  };
}

Organization chart - API


Installation

To install and configure the plugin follow our Plugins Installation Guide. Please remember to update all the plugin names and import paths. You can find all the necessary information in the Import section.

npm i git+https://oauth2:ACCESS_TOKEN@git.mdbootstrap.com/mdb/angular/mdb5/plugins/prd/organization-chart

Import

import { MdbOrganizationChartModule } from 'mdb-angular-organization-chart';
…
@NgModule ({
  ...
  imports: [MdbOrganizationChartModule],
  ...
})
@import 'mdb-angular-organization-chart/scss/organization-chart.scss';

Inputs

Name Type Default Description
data Object - Data for chart construction.
switchHeaderText Boolean false Switch the name with title in node (only for advanced charts).