import { Component, inject, OnInit } from '@angular/core'; import { TreeNode } from 'primeng/api'; import { TreeModule } from 'primeng/tree'; import { FormsModule } from '@angular/forms'; import { TreeTableModule } from 'primeng/treetable'; import { CommonModule } from '@angular/common'; import { NodeService } from '../service/node.service'; @Component({ selector: 'app-tree-demo', standalone: true, imports: [CommonModule, FormsModule, TreeModule, TreeTableModule], template: `
Tree
TreeTable
{{ col.header }} {{ rowData[col.field] }}
`, providers: [NodeService] }) export class TreeDemo implements OnInit { treeValue: TreeNode[] = []; treeTableValue: TreeNode[] = []; selectedTreeValue: TreeNode[] = []; selectedTreeTableValue = {}; cols: any[] = []; nodeService = inject(NodeService); ngOnInit() { this.nodeService.getFiles().then((files) => (this.treeValue = files)); this.nodeService.getTreeTableNodes().then((files: any) => (this.treeTableValue = files)); this.cols = [ { field: 'name', header: 'Name' }, { field: 'size', header: 'Size' }, { field: 'type', header: 'Type' } ]; this.selectedTreeTableValue = { '0-0': { partialChecked: false, checked: true } }; } }