@codehint-ng/tree-table
TypeScript icon, indicating that this package has built-in type declarations

18.0.3 • Public • Published

@codehint-ng/tree-table

A simple component to display tree-hierarchically data in table.

Usage

For example: You have some tree data like this:

    interface CustomItem {
        id: number;
        parentId: number;
        data1: string;
        data2: string;
        data3: string;
    }
    
    myCustomData: CustomItem[] = [...];
  1. Register the @codehint-ng/tree-table in your module:

     import { CngTreeTableModule } from '@codehint-ng/tree-table';
    
     @NgModule({
     imports: [
         CngTreeTableModule
         ...
     ],
     ...
    
  2. Then define displaying cng-tree-table in your component template:

     <cng-tree-table
         [columns]="[
             {title: 'Column1', template: tmplColumn1},
             {title: 'Column2', template: tmplColumn2},
             {title: 'Column3', template: tmplColumn3}
         ]"
     >
     </cng-tree-table>
    
     <ng-template #tmplColumn1 let-treeTableItem>
         {{ treeTableItem.data.data1 }}
     </ng-template>
    
     <ng-template #tmplColumn2 let-treeTableItem>
         {{ treeTableItem.data.data2 }}
     </ng-template>
    
     <ng-template #tmplColumn3 let-treeTableItem>
         {{ treeTableItem.data.data3 }}
     </ng-template>
    
  3. Prepare your custom tree-hierarchically data for passing it into cng-tree-table component:

    So you need to map it into structure TreeTableItem that cng-tree-table can display, like this:

     function customDataToTreeTableItems(customData: CustomItem[])
             : TreeTableItem<CustomItem>[] {
             
         const treeTableItems = (customData || []).map((customItem: CustomItem) => {
             const item: TreeTableItem<CustomItem> = {
                 id: customItem.id,
                 parentId: customItem.parentId || 0,
                 data: customItem
             };
             return item;
         });
         return treeTableItems;
     }
    
  4. Append your treeTableItems into cng-tree-table:

     myCustomData: CustomItem[] = [...];
     @ViewChild(CngTreeTableComponent, {static: true}) cngTreeTable: CngTreeTableComponent<CustomItem>;
     
     ngOnInit() {
         const treeTableItems = customDataToTreeTableItems(this.myCustomData);
         this.cngTreeTable.appendItems(treeTableItems);
         ....
     }
    

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
18.0.317latest

Version History

VersionDownloads (Last 7 Days)Published
18.0.317
18.0.24
18.0.10
18.0.00
17.0.00
16.0.00
15.0.10
15.0.00
14.0.00
13.0.00
12.0.10
12.0.00
1.0.110
1.0.100
1.0.90
1.0.80
1.0.70
1.0.60
1.0.50
1.0.40
1.0.30
1.0.20
1.0.10
1.0.00
0.9.00

Package Sidebar

Install

npm i @codehint-ng/tree-table

Weekly Downloads

21

Version

18.0.3

License

MIT

Unpacked Size

135 kB

Total Files

26

Last publish

Collaborators

  • mazhekin