424 lines
25 KiB
JavaScript
424 lines
25 KiB
JavaScript
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
||
|
import * as i1 from '@angular/common';
|
||
|
import { CommonModule } from '@angular/common';
|
||
|
import * as i0 from '@angular/core';
|
||
|
import { forwardRef, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, EventEmitter, Output, ContentChildren, NgModule } from '@angular/core';
|
||
|
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
||
|
import { DomHandler } from 'primeng/dom';
|
||
|
import { ChevronDownIcon } from 'primeng/icons/chevrondown';
|
||
|
import { ChevronUpIcon } from 'primeng/icons/chevronup';
|
||
|
import { Subject } from 'rxjs';
|
||
|
|
||
|
class OrganizationChartNode {
|
||
|
cd;
|
||
|
node;
|
||
|
root;
|
||
|
first;
|
||
|
last;
|
||
|
collapsible;
|
||
|
chart;
|
||
|
subscription;
|
||
|
constructor(chart, cd) {
|
||
|
this.cd = cd;
|
||
|
this.chart = chart;
|
||
|
this.subscription = this.chart.selectionSource$.subscribe(() => {
|
||
|
this.cd.markForCheck();
|
||
|
});
|
||
|
}
|
||
|
get leaf() {
|
||
|
if (this.node) {
|
||
|
return this.node.leaf == false ? false : !(this.node.children && this.node.children.length);
|
||
|
}
|
||
|
}
|
||
|
get colspan() {
|
||
|
if (this.node) {
|
||
|
return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;
|
||
|
}
|
||
|
}
|
||
|
onNodeClick(event, node) {
|
||
|
this.chart.onNodeClick(event, node);
|
||
|
}
|
||
|
toggleNode(event, node) {
|
||
|
node.expanded = !node.expanded;
|
||
|
if (node.expanded)
|
||
|
this.chart.onNodeExpand.emit({ originalEvent: event, node: this.node });
|
||
|
else
|
||
|
this.chart.onNodeCollapse.emit({ originalEvent: event, node: this.node });
|
||
|
event.preventDefault();
|
||
|
}
|
||
|
isSelected() {
|
||
|
return this.chart.isSelected(this.node);
|
||
|
}
|
||
|
ngOnDestroy() {
|
||
|
this.subscription.unsubscribe();
|
||
|
}
|
||
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartNode, deps: [{ token: forwardRef(() => OrganizationChart) }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
||
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: OrganizationChartNode, selector: "[pOrganizationChartNode]", inputs: { node: "node", root: ["root", "root", booleanAttribute], first: ["first", "first", booleanAttribute], last: ["last", "last", booleanAttribute], collapsible: ["collapsible", "collapsible", booleanAttribute] }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
||
|
<tbody *ngIf="node" [attr.data-pc-section]="'body'">
|
||
|
<tr [attr.data-pc-section]="'row'">
|
||
|
<td [attr.colspan]="colspan" [attr.data-pc-section]="'cell'">
|
||
|
<div
|
||
|
[class]="node.styleClass"
|
||
|
[ngClass]="{ 'p-organizationchart-node-content': true, 'p-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false, 'p-highlight': isSelected() }"
|
||
|
(click)="onNodeClick($event, node)"
|
||
|
[attr.data-pc-section]="'node'"
|
||
|
>
|
||
|
<div *ngIf="!chart.getTemplateForNode(node)">{{ node.label }}</div>
|
||
|
<div *ngIf="chart.getTemplateForNode(node)">
|
||
|
<ng-container *ngTemplateOutlet="chart.getTemplateForNode(node); context: { $implicit: node }"></ng-container>
|
||
|
</div>
|
||
|
<ng-container *ngIf="collapsible">
|
||
|
<a *ngIf="!leaf" tabindex="0" class="p-node-toggler" (click)="toggleNode($event, node)" (keydown.enter)="toggleNode($event, node)" (keydown.space)="toggleNode($event, node)" [attr.data-pc-section]="'nodeToggler'">
|
||
|
<ng-container *ngIf="!chart.togglerIconTemplate">
|
||
|
<ChevronDownIcon *ngIf="node.expanded" [styleClass]="'p-node-toggler-icon'" [attr.data-pc-section]="'nodeTogglerIcon'" />
|
||
|
<ChevronUpIcon *ngIf="!node.expanded" [styleClass]="'p-node-toggler-icon'" [attr.data-pc-section]="'nodeTogglerIcon'" />
|
||
|
</ng-container>
|
||
|
<span class="p-node-toggler-icon" *ngIf="chart.togglerIconTemplate" [attr.data-pc-section]="'nodeTogglerIcon'">
|
||
|
<ng-template *ngTemplateOutlet="chart.togglerIconTemplate; context: { $implicit: node.expanded }"></ng-template>
|
||
|
</span>
|
||
|
</a>
|
||
|
</ng-container>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-lines" [@childState]="'in'" [attr.data-pc-section]="'lines'">
|
||
|
<td [attr.data-pc-section]="'lineCell'" [attr.colspan]="colspan">
|
||
|
<div [attr.data-pc-section]="'lineDown'" class="p-organizationchart-line-down"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-lines" [@childState]="'in'" [attr.data-pc-section]="'lines'">
|
||
|
<ng-container *ngIf="node.children && node.children.length === 1">
|
||
|
<td [attr.data-pc-section]="'lineCell'" [attr.colspan]="colspan">
|
||
|
<div [attr.data-pc-section]="'lineDown'" class="p-organizationchart-line-down"></div>
|
||
|
</td>
|
||
|
</ng-container>
|
||
|
<ng-container *ngIf="node.children && node.children.length > 1">
|
||
|
<ng-template ngFor let-child [ngForOf]="node.children" let-first="first" let-last="last">
|
||
|
<td [attr.data-pc-section]="'lineLeft'" class="p-organizationchart-line-left" [ngClass]="{ 'p-organizationchart-line-top': !first }"> </td>
|
||
|
<td [attr.data-pc-section]="'lineRight'" class="p-organizationchart-line-right" [ngClass]="{ 'p-organizationchart-line-top': !last }"> </td>
|
||
|
</ng-template>
|
||
|
</ng-container>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-nodes" [@childState]="'in'" [attr.data-pc-section]="'nodes'">
|
||
|
<td *ngFor="let child of node.children" colspan="2" [attr.data-pc-section]="'nodeCell'">
|
||
|
<table class="p-organizationchart-table" pOrganizationChartNode [node]="child" [collapsible]="node.children && node.children.length > 0"></table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
`, isInline: true, styles: ["@layer primeng{.p-organizationchart-table{border-spacing:0;border-collapse:separate;margin:0 auto}.p-organizationchart-table>tbody>tr>td{text-align:center;vertical-align:top;padding:0 .75rem}.p-organizationchart-node-content{display:inline-block;position:relative}.p-organizationchart-node-content .p-node-toggler{position:absolute;bottom:-.75rem;margin-left:-.75rem;z-index:2;left:50%;-webkit-user-select:none;user-select:none;cursor:pointer;width:1.5rem;height:1.5rem}.p-organizationchart-node-content .p-node-toggler .p-node-toggler-icon{position:relative;top:.25rem}.p-organizationchart-line-down{margin:0 auto;height:20px;width:1px}.p-organizationchart-line-right,.p-organizationchart-line-left{border-radius:0}.p-organizationchart-selectable-node{cursor:pointer}.p-organizationchart .p-organizationchart-node-hidden{display:none}.p-organizationchart-preservespace .p-organizationchart-node-hidden{visibility:hidden;display:inherit}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronUpIcon), selector: "ChevronUpIcon" }, { kind: "component", type: i0.forwardRef(() => OrganizationChartNode), selector: "[pOrganizationChartNode]", inputs: ["node", "root", "first", "last", "collapsible"] }], animations: [trigger('childState', [state('in', style({ opacity: 1 })), transition('void => *', [style({ opacity: 0 }), animate(150)]), transition('* => void', [animate(150, style({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
||
|
}
|
||
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartNode, decorators: [{
|
||
|
type: Component,
|
||
|
args: [{ selector: '[pOrganizationChartNode]', template: `
|
||
|
<tbody *ngIf="node" [attr.data-pc-section]="'body'">
|
||
|
<tr [attr.data-pc-section]="'row'">
|
||
|
<td [attr.colspan]="colspan" [attr.data-pc-section]="'cell'">
|
||
|
<div
|
||
|
[class]="node.styleClass"
|
||
|
[ngClass]="{ 'p-organizationchart-node-content': true, 'p-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false, 'p-highlight': isSelected() }"
|
||
|
(click)="onNodeClick($event, node)"
|
||
|
[attr.data-pc-section]="'node'"
|
||
|
>
|
||
|
<div *ngIf="!chart.getTemplateForNode(node)">{{ node.label }}</div>
|
||
|
<div *ngIf="chart.getTemplateForNode(node)">
|
||
|
<ng-container *ngTemplateOutlet="chart.getTemplateForNode(node); context: { $implicit: node }"></ng-container>
|
||
|
</div>
|
||
|
<ng-container *ngIf="collapsible">
|
||
|
<a *ngIf="!leaf" tabindex="0" class="p-node-toggler" (click)="toggleNode($event, node)" (keydown.enter)="toggleNode($event, node)" (keydown.space)="toggleNode($event, node)" [attr.data-pc-section]="'nodeToggler'">
|
||
|
<ng-container *ngIf="!chart.togglerIconTemplate">
|
||
|
<ChevronDownIcon *ngIf="node.expanded" [styleClass]="'p-node-toggler-icon'" [attr.data-pc-section]="'nodeTogglerIcon'" />
|
||
|
<ChevronUpIcon *ngIf="!node.expanded" [styleClass]="'p-node-toggler-icon'" [attr.data-pc-section]="'nodeTogglerIcon'" />
|
||
|
</ng-container>
|
||
|
<span class="p-node-toggler-icon" *ngIf="chart.togglerIconTemplate" [attr.data-pc-section]="'nodeTogglerIcon'">
|
||
|
<ng-template *ngTemplateOutlet="chart.togglerIconTemplate; context: { $implicit: node.expanded }"></ng-template>
|
||
|
</span>
|
||
|
</a>
|
||
|
</ng-container>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-lines" [@childState]="'in'" [attr.data-pc-section]="'lines'">
|
||
|
<td [attr.data-pc-section]="'lineCell'" [attr.colspan]="colspan">
|
||
|
<div [attr.data-pc-section]="'lineDown'" class="p-organizationchart-line-down"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-lines" [@childState]="'in'" [attr.data-pc-section]="'lines'">
|
||
|
<ng-container *ngIf="node.children && node.children.length === 1">
|
||
|
<td [attr.data-pc-section]="'lineCell'" [attr.colspan]="colspan">
|
||
|
<div [attr.data-pc-section]="'lineDown'" class="p-organizationchart-line-down"></div>
|
||
|
</td>
|
||
|
</ng-container>
|
||
|
<ng-container *ngIf="node.children && node.children.length > 1">
|
||
|
<ng-template ngFor let-child [ngForOf]="node.children" let-first="first" let-last="last">
|
||
|
<td [attr.data-pc-section]="'lineLeft'" class="p-organizationchart-line-left" [ngClass]="{ 'p-organizationchart-line-top': !first }"> </td>
|
||
|
<td [attr.data-pc-section]="'lineRight'" class="p-organizationchart-line-right" [ngClass]="{ 'p-organizationchart-line-top': !last }"> </td>
|
||
|
</ng-template>
|
||
|
</ng-container>
|
||
|
</tr>
|
||
|
<tr [ngClass]="!leaf && node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'" class="p-organizationchart-nodes" [@childState]="'in'" [attr.data-pc-section]="'nodes'">
|
||
|
<td *ngFor="let child of node.children" colspan="2" [attr.data-pc-section]="'nodeCell'">
|
||
|
<table class="p-organizationchart-table" pOrganizationChartNode [node]="child" [collapsible]="node.children && node.children.length > 0"></table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
`, animations: [trigger('childState', [state('in', style({ opacity: 1 })), transition('void => *', [style({ opacity: 0 }), animate(150)]), transition('* => void', [animate(150, style({ opacity: 0 }))])])], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
|
||
|
class: 'p-element'
|
||
|
}, styles: ["@layer primeng{.p-organizationchart-table{border-spacing:0;border-collapse:separate;margin:0 auto}.p-organizationchart-table>tbody>tr>td{text-align:center;vertical-align:top;padding:0 .75rem}.p-organizationchart-node-content{display:inline-block;position:relative}.p-organizationchart-node-content .p-node-toggler{position:absolute;bottom:-.75rem;margin-left:-.75rem;z-index:2;left:50%;-webkit-user-select:none;user-select:none;cursor:pointer;width:1.5rem;height:1.5rem}.p-organizationchart-node-content .p-node-toggler .p-node-toggler-icon{position:relative;top:.25rem}.p-organizationchart-line-down{margin:0 auto;height:20px;width:1px}.p-organizationchart-line-right,.p-organizationchart-line-left{border-radius:0}.p-organizationchart-selectable-node{cursor:pointer}.p-organizationchart .p-organizationchart-node-hidden{display:none}.p-organizationchart-preservespace .p-organizationchart-node-hidden{visibility:hidden;display:inherit}}\n"] }]
|
||
|
}], ctorParameters: () => [{ type: OrganizationChart, decorators: [{
|
||
|
type: Inject,
|
||
|
args: [forwardRef(() => OrganizationChart)]
|
||
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { node: [{
|
||
|
type: Input
|
||
|
}], root: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}], first: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}], last: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}], collapsible: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}] } });
|
||
|
/**
|
||
|
* OrganizationChart visualizes hierarchical organization data.
|
||
|
* @group Components
|
||
|
*/
|
||
|
class OrganizationChart {
|
||
|
el;
|
||
|
cd;
|
||
|
/**
|
||
|
* An array of nested TreeNodes.
|
||
|
* @group Props
|
||
|
*/
|
||
|
value;
|
||
|
/**
|
||
|
* Inline style of the component.
|
||
|
* @group Props
|
||
|
*/
|
||
|
style;
|
||
|
/**
|
||
|
* Style class of the component.
|
||
|
* @group Props
|
||
|
*/
|
||
|
styleClass;
|
||
|
/**
|
||
|
* Defines the selection mode.
|
||
|
* @group Props
|
||
|
*/
|
||
|
selectionMode;
|
||
|
/**
|
||
|
* Whether the nodes can be expanded or toggled.
|
||
|
* @group Props
|
||
|
*/
|
||
|
collapsible;
|
||
|
/**
|
||
|
* Whether the space allocated by a node is preserved when hidden.
|
||
|
* @group Props
|
||
|
*/
|
||
|
preserveSpace = true;
|
||
|
/**
|
||
|
* A single treenode instance or an array to refer to the selections.
|
||
|
* @group Props
|
||
|
*/
|
||
|
get selection() {
|
||
|
return this._selection;
|
||
|
}
|
||
|
set selection(val) {
|
||
|
this._selection = val;
|
||
|
if (this.initialized)
|
||
|
this.selectionSource.next(null);
|
||
|
}
|
||
|
/**
|
||
|
* Callback to invoke on selection change.
|
||
|
* @param {*} any - selected value.
|
||
|
* @group Emits
|
||
|
*/
|
||
|
selectionChange = new EventEmitter();
|
||
|
/**
|
||
|
* Callback to invoke when a node is selected.
|
||
|
* @param {OrganizationChartNodeSelectEvent} event - custom node select event.
|
||
|
* @group Emits
|
||
|
*/
|
||
|
onNodeSelect = new EventEmitter();
|
||
|
/**
|
||
|
* Callback to invoke when a node is unselected.
|
||
|
* @param {OrganizationChartNodeUnSelectEvent} event - custom node unselect event.
|
||
|
* @group Emits
|
||
|
*/
|
||
|
onNodeUnselect = new EventEmitter();
|
||
|
/**
|
||
|
* Callback to invoke when a node is expanded.
|
||
|
* @param {OrganizationChartNodeExpandEvent} event - custom node expand event.
|
||
|
* @group Emits
|
||
|
*/
|
||
|
onNodeExpand = new EventEmitter();
|
||
|
/**
|
||
|
* Callback to invoke when a node is collapsed.
|
||
|
* @param {OrganizationChartNodeCollapseEvent} event - custom node collapse event.
|
||
|
* @group Emits
|
||
|
*/
|
||
|
onNodeCollapse = new EventEmitter();
|
||
|
templates;
|
||
|
templateMap;
|
||
|
togglerIconTemplate;
|
||
|
selectionSource = new Subject();
|
||
|
_selection;
|
||
|
initialized;
|
||
|
selectionSource$ = this.selectionSource.asObservable();
|
||
|
constructor(el, cd) {
|
||
|
this.el = el;
|
||
|
this.cd = cd;
|
||
|
}
|
||
|
get root() {
|
||
|
return this.value && this.value.length ? this.value[0] : null;
|
||
|
}
|
||
|
ngAfterContentInit() {
|
||
|
if (this.templates.length) {
|
||
|
this.templateMap = {};
|
||
|
}
|
||
|
this.templates.forEach((item) => {
|
||
|
if (item.getType() === 'togglericon') {
|
||
|
this.togglerIconTemplate = item.template;
|
||
|
}
|
||
|
else {
|
||
|
this.templateMap[item.getType()] = item.template;
|
||
|
}
|
||
|
});
|
||
|
this.initialized = true;
|
||
|
}
|
||
|
getTemplateForNode(node) {
|
||
|
if (this.templateMap)
|
||
|
return node.type ? this.templateMap[node.type] : this.templateMap['default'];
|
||
|
else
|
||
|
return null;
|
||
|
}
|
||
|
onNodeClick(event, node) {
|
||
|
let eventTarget = event.target;
|
||
|
if (eventTarget.className && (DomHandler.hasClass(eventTarget, 'p-node-toggler') || DomHandler.hasClass(eventTarget, 'p-node-toggler-icon'))) {
|
||
|
return;
|
||
|
}
|
||
|
else if (this.selectionMode) {
|
||
|
if (node.selectable === false) {
|
||
|
return;
|
||
|
}
|
||
|
let index = this.findIndexInSelection(node);
|
||
|
let selected = index >= 0;
|
||
|
if (this.selectionMode === 'single') {
|
||
|
if (selected) {
|
||
|
this.selection = null;
|
||
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
||
|
}
|
||
|
else {
|
||
|
this.selection = node;
|
||
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
||
|
}
|
||
|
}
|
||
|
else if (this.selectionMode === 'multiple') {
|
||
|
if (selected) {
|
||
|
this.selection = this.selection.filter((val, i) => i != index);
|
||
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
||
|
}
|
||
|
else {
|
||
|
this.selection = [...(this.selection || []), node];
|
||
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
||
|
}
|
||
|
}
|
||
|
this.selectionChange.emit(this.selection);
|
||
|
this.selectionSource.next(null);
|
||
|
}
|
||
|
}
|
||
|
findIndexInSelection(node) {
|
||
|
let index = -1;
|
||
|
if (this.selectionMode && this.selection) {
|
||
|
if (this.selectionMode === 'single') {
|
||
|
index = this.selection == node ? 0 : -1;
|
||
|
}
|
||
|
else if (this.selectionMode === 'multiple') {
|
||
|
for (let i = 0; i < this.selection.length; i++) {
|
||
|
if (this.selection[i] == node) {
|
||
|
index = i;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return index;
|
||
|
}
|
||
|
isSelected(node) {
|
||
|
return this.findIndexInSelection(node) != -1;
|
||
|
}
|
||
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChart, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
||
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: OrganizationChart, selector: "p-organizationChart", inputs: { value: "value", style: "style", styleClass: "styleClass", selectionMode: "selectionMode", collapsible: ["collapsible", "collapsible", booleanAttribute], preserveSpace: ["preserveSpace", "preserveSpace", booleanAttribute], selection: "selection" }, outputs: { selectionChange: "selectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
|
||
|
<div [ngStyle]="style" [class]="styleClass" [ngClass]="{ 'p-organizationchart p-component': true, 'p-organizationchart-preservespace': preserveSpace }" [attr.data-pc-section]="'root'">
|
||
|
<table class="p-organizationchart-table" [collapsible]="collapsible" pOrganizationChartNode [node]="root" *ngIf="root"></table>
|
||
|
</div>
|
||
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: OrganizationChartNode, selector: "[pOrganizationChartNode]", inputs: ["node", "root", "first", "last", "collapsible"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
||
|
}
|
||
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChart, decorators: [{
|
||
|
type: Component,
|
||
|
args: [{
|
||
|
selector: 'p-organizationChart',
|
||
|
template: `
|
||
|
<div [ngStyle]="style" [class]="styleClass" [ngClass]="{ 'p-organizationchart p-component': true, 'p-organizationchart-preservespace': preserveSpace }" [attr.data-pc-section]="'root'">
|
||
|
<table class="p-organizationchart-table" [collapsible]="collapsible" pOrganizationChartNode [node]="root" *ngIf="root"></table>
|
||
|
</div>
|
||
|
`,
|
||
|
changeDetection: ChangeDetectionStrategy.Default,
|
||
|
host: {
|
||
|
class: 'p-element'
|
||
|
}
|
||
|
}]
|
||
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
||
|
type: Input
|
||
|
}], style: [{
|
||
|
type: Input
|
||
|
}], styleClass: [{
|
||
|
type: Input
|
||
|
}], selectionMode: [{
|
||
|
type: Input
|
||
|
}], collapsible: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}], preserveSpace: [{
|
||
|
type: Input,
|
||
|
args: [{ transform: booleanAttribute }]
|
||
|
}], selection: [{
|
||
|
type: Input
|
||
|
}], selectionChange: [{
|
||
|
type: Output
|
||
|
}], onNodeSelect: [{
|
||
|
type: Output
|
||
|
}], onNodeUnselect: [{
|
||
|
type: Output
|
||
|
}], onNodeExpand: [{
|
||
|
type: Output
|
||
|
}], onNodeCollapse: [{
|
||
|
type: Output
|
||
|
}], templates: [{
|
||
|
type: ContentChildren,
|
||
|
args: [PrimeTemplate]
|
||
|
}] } });
|
||
|
class OrganizationChartModule {
|
||
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
||
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartModule, declarations: [OrganizationChart, OrganizationChartNode], imports: [CommonModule, ChevronDownIcon, ChevronUpIcon, SharedModule], exports: [OrganizationChart, SharedModule] });
|
||
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartModule, imports: [CommonModule, ChevronDownIcon, ChevronUpIcon, SharedModule, SharedModule] });
|
||
|
}
|
||
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OrganizationChartModule, decorators: [{
|
||
|
type: NgModule,
|
||
|
args: [{
|
||
|
imports: [CommonModule, ChevronDownIcon, ChevronUpIcon, SharedModule],
|
||
|
exports: [OrganizationChart, SharedModule],
|
||
|
declarations: [OrganizationChart, OrganizationChartNode]
|
||
|
}]
|
||
|
}] });
|
||
|
|
||
|
/**
|
||
|
* Generated bundle index. Do not edit.
|
||
|
*/
|
||
|
|
||
|
export { OrganizationChart, OrganizationChartModule, OrganizationChartNode };
|
||
|
//# sourceMappingURL=primeng-organizationchart.mjs.map
|