[59329aa] | 1 | {"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}\"> </td>\n <td class=\"p-organizationchart-line-right\" [ngClass]=\"{'p-organizationchart-line-top':!last}\"> </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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"} |
---|