OrganizationChart visualizes hierarchical organization data.
import { OrganizationChartModule } from 'primeng/organizationchart';
OrganizationChart requires a collection of TreeNode instances as a value.
Argentina | |||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||
<p-organization-chart [value]="data" />
Custom content instead of a node label is defined using the pTemplate property.
<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.
<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.