UNPKG

15 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-organizationchart.umd.js","sources":["ng://primeng/organizationchart/organizationchart.ts"],"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 { }"],"names":["Inject","forwardRef","Input","Component","trigger","state","style","transition","animate","EventEmitter","ElementRef","Output","ContentChildren","PrimeTemplate","ChangeDetectionStrategy","NgModule","CommonModule","SharedModule"],"mappings":"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"}
\No newline at end of file