UNPKG

igniteui-angular-sovn

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

130 lines (126 loc) 5.86 kB
import { Component, ViewChild, ChangeDetectorRef } from '@angular/core'; import { IgxTreeComponent, IgxTreeNodeComponent, IgxTreeNodeLinkDirective } from './public_api'; import { HIERARCHICAL_SAMPLE_DATA } from 'src/app/shared/sample-data'; import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common'; @Component({ template: ` <igx-tree #tree1 class="medium"> <igx-tree-node *ngFor="let node of data" [selected]="node.ID === 'ALFKI'" [data]="node"> {{ node.CompanyName }} <igx-tree-node *ngFor="let child of node.ChildCompanies" [data]="child"> {{ child.CompanyName }} <igx-tree-node *ngFor="let leafchild of child.ChildCompanies" [data]="leafchild"> {{ leafchild.CompanyName }} </igx-tree-node> </igx-tree-node> </igx-tree-node> </igx-tree> `, standalone: true, imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor] }) export class IgxTreeSimpleComponent { @ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent; public data = HIERARCHICAL_SAMPLE_DATA; } @Component({ template: ` <igx-tree #tree1 class="medium"> <igx-tree-node *ngFor="let node of data" [data]="node" [(selected)]="node.selected"> {{ node.CompanyName }} <igx-tree-node *ngFor="let child of node.ChildCompanies" [data]="child" [(selected)]="child.selected"> {{ child.CompanyName }} <igx-tree-node *ngFor="let leafchild of child.ChildCompanies" [data]="leafchild" [(selected)]="leafchild.selected"> {{ leafchild.CompanyName }} </igx-tree-node> </igx-tree-node> </igx-tree-node> </igx-tree> `, standalone: true, imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor] }) export class IgxTreeSelectionSampleComponent { @ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent; public data; constructor(public cdr: ChangeDetectorRef) { this.data = HIERARCHICAL_SAMPLE_DATA; this.mapData(this.data); } private mapData(data: any[]) { data.forEach(x => { x.selected = false; if (x.hasOwnProperty('ChildCompanies') && x.ChildCompanies.length) { this.mapData(x.ChildCompanies); } }); } } @Component({ template: ` <igx-tree #tree1 class="medium"> <igx-tree-node *ngFor="let node of data" [data]="node" [active]="node.ID === 'COMMI'"> {{ node.CompanyName }} <igx-tree-node [disabled]="isDisabled">Disable Node Level 1</igx-tree-node> <igx-tree-node *ngFor="let child of node.ChildCompanies" [data]="child"> {{ child.CompanyName }} <igx-tree-node *ngFor="let leafchild of child.ChildCompanies" [data]="leafchild"> {{ leafchild.CompanyName }} </igx-tree-node> <igx-tree-node [disabled]="isDisabled">Disable Node Level 2</igx-tree-node> </igx-tree-node> </igx-tree-node> <igx-tree-node [disabled]="isDisabled">Disable Node Level 0</igx-tree-node> <igx-tree-node *ngIf="showNodesWithDirective"> <a id="link" igxTreeNodeLink href="https://infragistics.com">Link to Infragistics</a> <igx-tree-node *ngFor="let node of [].constructor(3)"> <a igxTreeNodeLink href="https://infragistics.com">Link to Infragistics</a> </igx-tree-node> <igx-tree-node [disabled]="isDisabled"> <a igxTreeNodeLink href="https://infragistics.com">Link to Infragistics</a> </igx-tree-node> </igx-tree-node> <igx-tree-node #parentNode *ngIf="showNodesWithDirective"> <ng-template *ngTemplateOutlet="nodeTemplate; context { $implicit: parentNode }"></ng-template> <igx-tree-node #disabledChild [disabled]="isDisabled"> <ng-template *ngTemplateOutlet="nodeTemplate; context { $implicit: disabledChild }"></ng-template> </igx-tree-node> <igx-tree-node #childNode *ngFor="let node of [].constructor(3)"> <ng-template *ngTemplateOutlet="nodeTemplate; context { $implicit: childNode }"></ng-template> </igx-tree-node> </igx-tree-node> <ng-template #nodeTemplate let-node> <a [igxTreeNodeLink]="node" href="https://infragistics.com">Link to Infragistics</a> </ng-template> </igx-tree> `, standalone: true, imports: [IgxTreeComponent, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, NgTemplateOutlet, NgFor, NgIf] }) export class IgxTreeNavigationComponent { @ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent; public data = HIERARCHICAL_SAMPLE_DATA; public showNodesWithDirective = false; public isDisabled = false; } @Component({ template: ` <igx-tree #tree1 style="height: 300px; overflow-y: scroll; width: 400px;"> <igx-tree-node *ngFor="let node of data" [data]="node" [active]="node.ID === 'FRANS'" [expanded]="true"> {{ node.CompanyName }} <igx-tree-node *ngFor="let child of node.ChildCompanies" [data]="child" [expanded]="true"> {{ child.CompanyName }} <igx-tree-node *ngFor="let leafchild of child.ChildCompanies" [data]="leafchild"> {{ leafchild.CompanyName }} </igx-tree-node> </igx-tree-node> </igx-tree-node> </igx-tree> `, standalone: true, imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor] }) export class IgxTreeScrollComponent { @ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent; public data = HIERARCHICAL_SAMPLE_DATA; }