OrganizationChart

OrganizationChart visualizes hierarchical organization data.


import { OrganizationChartModule } from 'primeng/organizationchart';

OrganizationChart requires a collection of TreeNode instances as a value.

Argentina
    
Argentina
    
Argentina
France
France
    
France
Morocco

<p-organization-chart [value]="data" />

Custom content instead of a node label is defined using the pTemplate property.

Argentina
Argentina
    
Argentina
Argentina
    
Argentina
Argentina
Croatia
Croatia
France
France
    
France
France
Morocco
Morocco

<p-organization-chart [value]="data" [collapsible]="true">
    <ng-template let-node pTemplate="default">
        <div class="flex flex-col items-center">
            <img src="https://primefaces.org/cdn/primeng/images/flag/flag_placeholder.png" [alt]="node.label" [class]="'flag' + ' flag-' + node.data" width="32" />
            <div class="mt-4 font-medium text-lg">{{ node.label }}</div>
        </div>
    </ng-template>
</p-organization-chart>

Nodes can be selected by defining selectionMode along with a value binding with selection properties. By default only one node can be selected, set selectionMode as multiple to select more than one.

Amy Elsner
CEO
    
Anna Fali
CMO
    
Sales
Marketing
Stephen Shaw
CTO
    
Development
UI/UX Design

<p-organization-chart [value]="data" selectionMode="multiple" [(selection)]="selectedNodes" [collapsible]="true">
    <ng-template let-node pTemplate="person">
        <div class="flex flex-col">
            <div class="flex flex-col items-center">
                <img [src]="node.data.image" class="mb-4 w-12 h-12" />
                <div class="font-bold mb-2">{{ node.data.name }}</div>
                <div>{{ node.data.title }}</div>
            </div>
        </div>
    </ng-template>
</p-organization-chart>

Styling a specific node is configured with class and style options of a TreeNode.

Amy ElsnerCEO