{"version":3,"file":"primeng-organizationchart.mjs","sources":["../../src/app/components/organizationchart/organizationchart.ts","../../src/app/components/organizationchart/primeng-organizationchart.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,Input,Output,AfterContentInit,EventEmitter,TemplateRef,\n        Inject,forwardRef,ContentChildren,QueryList,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, OnDestroy} from '@angular/core';\nimport {trigger,state,style,transition,animate} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from 'primeng/api';\nimport {TreeNode} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n    selector: '[pOrganizationChartNode]',\n    template: `\n        <tbody *ngIf=\"node\">\n            <tr>\n                <td [attr.colspan]=\"colspan\">\n                    <div [class]=\"node.styleClass\" [ngClass]=\"{'p-organizationchart-node-content': true, 'p-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false,'p-highlight':isSelected()}\"\n                        (click)=\"onNodeClick($event,node)\">\n                        <div *ngIf=\"!chart.getTemplateForNode(node)\">{{node.label}}</div>\n                        <div *ngIf=\"chart.getTemplateForNode(node)\">\n                            <ng-container *ngTemplateOutlet=\"chart.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n                        </div>\n                        <a *ngIf=\"!leaf\" tabindex=\"0\" class=\"p-node-toggler\" (click)=\"toggleNode($event, node)\" (keydown.enter)=\"toggleNode($event, node)\">\n                            <i class=\"p-node-toggler-icon pi\" [ngClass]=\"{'pi-chevron-down': node.expanded, 'pi-chevron-up': !node.expanded}\"></i>\n                        </a>\n                    </div>\n                </td>\n            </tr>\n            <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n                <td [attr.colspan]=\"colspan\">\n                    <div class=\"p-organizationchart-line-down\"></div>\n                </td>\n            </tr>\n            <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n                <ng-container *ngIf=\"node.children && node.children.length === 1\">\n                    <td [attr.colspan]=\"colspan\">\n                        <div class=\"p-organizationchart-line-down\"></div>\n                    </td>\n                </ng-container>\n                <ng-container *ngIf=\"node.children && node.children.length > 1\">\n                    <ng-template ngFor let-child [ngForOf]=\"node.children\" let-first=\"first\" let-last=\"last\">\n                        <td class=\"p-organizationchart-line-left\" [ngClass]=\"{'p-organizationchart-line-top':!first}\">&nbsp;</td>\n                        <td class=\"p-organizationchart-line-right\" [ngClass]=\"{'p-organizationchart-line-top':!last}\">&nbsp;</td>\n                    </ng-template>\n                </ng-container>\n            </tr>\n            <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-nodes\" [@childState]=\"'in'\">\n                <td *ngFor=\"let child of node.children\" colspan=\"2\">\n                    <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"child\"></table>\n                </td>\n            </tr>\n        </tbody>\n    `,\n    animations: [\n        trigger('childState', [\n            state('in', style({opacity: 1})),\n           transition('void => *', [\n             style({opacity: 0}),\n             animate(150)\n           ]),\n           transition('* => void', [\n             animate(150, style({opacity:0}))\n           ])\n        ])\n    ],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    styleUrls: ['./organizationchart.css'],\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class OrganizationChartNode implements OnDestroy{\n\n    @Input() node: TreeNode;\n\n    @Input() root: boolean;\n\n    @Input() first: boolean;\n\n    @Input() last: boolean;\n\n    chart: OrganizationChart;\n\n    subscription: Subscription;\n\n    constructor(@Inject(forwardRef(() => OrganizationChart)) chart, public cd: ChangeDetectorRef) {\n        this.chart = chart as OrganizationChart;\n        this.subscription = this.chart.selectionSource$.subscribe(() =>{\n            this.cd.markForCheck();\n        })\n    }\n\n    get leaf(): boolean {\n        return this.node.leaf == false ? false : !(this.node.children&&this.node.children.length);\n    }\n\n    get colspan() {\n        return (this.node.children && this.node.children.length) ? this.node.children.length * 2: null;\n    }\n\n    onNodeClick(event: Event, node: TreeNode) {\n        this.chart.onNodeClick(event, node)\n    }\n\n    toggleNode(event: Event, node: TreeNode) {\n        node.expanded = !node.expanded;\n        if (node.expanded)\n            this.chart.onNodeExpand.emit({originalEvent: event, node: this.node});\n        else\n            this.chart.onNodeCollapse.emit({originalEvent: event, node: this.node});\n\n        event.preventDefault();\n    }\n\n    isSelected() {\n        return this.chart.isSelected(this.node);\n    }\n\n    ngOnDestroy() {\n        this.subscription.unsubscribe();\n    }\n}\n\n@Component({\n    selector: 'p-organizationChart',\n    template: `\n        <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-organizationchart p-component': true, 'p-organizationchart-preservespace': preserveSpace}\">\n            <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"root\" *ngIf=\"root\"></table>\n        </div>\n    `,\n   changeDetection: ChangeDetectionStrategy.OnPush,\n   host: {\n    'class': 'p-element'\n}\n})\nexport class OrganizationChart implements AfterContentInit {\n\n    @Input() value: TreeNode[];\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() selectionMode: string;\n\n    @Input() preserveSpace: boolean = true;\n\n    @Input()  get selection(): any {\n        return this._selection;\n    }\n\n    set selection(val:any) {\n        this._selection = val;\n\n        if (this.initialized)\n            this.selectionSource.next(null);\n    }\n\n    @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n    @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n    @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n    @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n    @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n    public templateMap: any;\n\n    private selectionSource = new Subject<any>();\n\n    _selection: any;\n\n    initialized: boolean;\n\n    selectionSource$ = this.selectionSource.asObservable();\n\n    constructor(public el: ElementRef, public cd:ChangeDetectorRef) {}\n\n    get root(): TreeNode {\n        return this.value && this.value.length ? this.value[0] : null;\n    }\n\n    ngAfterContentInit() {\n        if (this.templates.length) {\n            this.templateMap = {};\n        }\n\n        this.templates.forEach((item) => {\n            this.templateMap[item.getType()] = item.template;\n        });\n\n        this.initialized = true;\n    }\n\n    getTemplateForNode(node: TreeNode): TemplateRef<any> {\n        if (this.templateMap)\n            return node.type ? this.templateMap[node.type] : this.templateMap['default'];\n        else\n            return null;\n    }\n\n    onNodeClick(event: Event, node: TreeNode) {\n        let eventTarget = (<Element> event.target);\n\n        if (eventTarget.className && (eventTarget.className.indexOf('p-node-toggler') !== -1 || eventTarget.className.indexOf('p-node-toggler-icon') !== -1)) {\n            return;\n        }\n        else if (this.selectionMode) {\n            if (node.selectable === false) {\n                return;\n            }\n\n            let index = this.findIndexInSelection(node);\n            let selected = (index >= 0);\n\n            if (this.selectionMode === 'single') {\n                if (selected) {\n                    this.selection = null;\n                    this.onNodeUnselect.emit({originalEvent: event, node: node});\n                }\n                else {\n                    this.selection = node;\n                    this.onNodeSelect.emit({originalEvent: event, node: node});\n                }\n            }\n            else if (this.selectionMode === 'multiple') {\n                if (selected) {\n                    this.selection = this.selection.filter((val,i) => i!=index);\n                    this.onNodeUnselect.emit({originalEvent: event, node: node});\n                }\n                else {\n                    this.selection = [...this.selection||[],node];\n                    this.onNodeSelect.emit({originalEvent: event, node: node});\n                }\n            }\n\n            this.selectionChange.emit(this.selection);\n            this.selectionSource.next(null);\n        }\n    }\n\n    findIndexInSelection(node: TreeNode) {\n        let index: number = -1;\n\n        if (this.selectionMode && this.selection) {\n            if (this.selectionMode === 'single') {\n                index = (this.selection == node) ? 0 : - 1;\n            }\n            else if (this.selectionMode === 'multiple') {\n                for(let i = 0; i  < this.selection.length; i++) {\n                    if (this.selection[i] == node) {\n                        index = i;\n                        break;\n                    }\n                }\n            }\n        }\n\n        return index;\n    }\n\n    isSelected(node: TreeNode) {\n        return this.findIndexInSelection(node) != -1;\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [OrganizationChart,SharedModule],\n    declarations: [OrganizationChart,OrganizationChartNode]\n})\nexport class OrganizationChartModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}