UNPKG

13.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["ng://primeng/organizationchart/organizationchart.ts"],"names":["OrganizationChartNode","chart","this","Object","defineProperty","prototype","node","leaf","children","length","onNodeClick","event","toggleNode","expanded","onNodeExpand","emit","originalEvent","onNodeCollapse","preventDefault","isSelected","Inject","args","forwardRef","OrganizationChart","__decorate","Input","Component","selector","template","animations","trigger","state","style","opacity","transition","animate","__param","el","preserveSpace","selectionChange","EventEmitter","onNodeSelect","onNodeUnselect","value","ngAfterContentInit","_this","templates","templateMap","forEach","item","getType","getTemplateForNode","type","eventTarget","target","className","indexOf","selectionMode","selectable","index_1","findIndexInSelection","selected","selection","filter","val","i","__spread","index","ElementRef","Output","ContentChildren","PrimeTemplate","changeDetection","ChangeDetectionStrategy","Default","OrganizationChartModule","NgModule","imports","CommonModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,Input,Output,AfterContentInit,EventEmitter,TemplateRef,\n Inject,forwardRef,ContentChildren,QueryList,ChangeDetectionStrategy} 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';\n\n@Component({\n selector: '[pOrganizationChartNode]',\n template: `\n <tr *ngIf=\"node\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"ui-organizationchart-node-content ui-widget-content ui-corner-all {{node.styleClass}}\" \n [ngClass]=\"{'ui-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false,'ui-state-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=\"ui-node-toggler\" (click)=\"toggleNode($event, node)\" (keydown.enter)=\"toggleNode($event, node)\">\n <i class=\"ui-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 ? 'ui-organizationchart-node-visible' : 'ui-organizationchart-node-hidden'\" class=\"ui-organizationchart-lines\" [@childState]=\"'in'\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"ui-organizationchart-line-down\"></div>\n </td>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'ui-organizationchart-node-visible' : 'ui-organizationchart-node-hidden'\" class=\"ui-organizationchart-lines\" [@childState]=\"'in'\">\n <ng-container *ngIf=\"node.children && node.children.length === 1\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"ui-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=\"ui-organizationchart-line-left\" [ngClass]=\"{'ui-organizationchart-line-top':!first}\">&nbsp;</td>\n <td class=\"ui-organizationchart-line-right\" [ngClass]=\"{'ui-organizationchart-line-top':!last}\">&nbsp;</td>\n </ng-template>\n </ng-container>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'ui-organizationchart-node-visible' : 'ui-organizationchart-node-hidden'\" class=\"ui-organizationchart-nodes\" [@childState]=\"'in'\">\n <td *ngFor=\"let child of node.children\" colspan=\"2\">\n <table class=\"ui-organizationchart-table\" pOrganizationChartNode [node]=\"child\"></table>\n </td>\n </tr>\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})\nexport class OrganizationChartNode {\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 constructor(@Inject(forwardRef(() => OrganizationChart)) chart) {\n this.chart = chart as OrganizationChart;\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\n@Component({\n selector: 'p-organizationChart',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'ui-organizationchart ui-widget': true, 'ui-organizationchart-preservespace': preserveSpace}\">\n <table class=\"ui-organizationchart-table\" pOrganizationChartNode [node]=\"root\" *ngIf=\"root\"></table>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default\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() selection: any;\n\n @Input() preserveSpace: boolean = true;\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 constructor(public el: ElementRef) {}\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 \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('ui-node-toggler') !== -1 || eventTarget.className.indexOf('ui-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 }\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 { }"]}
\No newline at end of file