The Tree component for Angular represents a Tree widget that displays a hierarchical collection of items. You can populate it from 'UL' or by using its 'source' property.
npm install -g @angular/cli ng new jqwidgets-project cd jqwidgets-project
ng add jqwidgets-ng
jQWidgets UI for Angular is distributed as jqwidgets-ng NPM package
npm install jqwidgets-ng
@import 'jqwidgets-ng/jqwidgets/styles/jqx.base.css';
"styles": [ "node_modules/jqwidgets-ng/jqwidgets/styles/jqx.base.css" ]
<jqxExpander [theme]="'fluent'" [width]="300" [height]="400"
[showArrow]="false" [toggleMode]="'none'">
<div>
Folders
</div>
<div style="overflow: hidden;">
<jqxTree [theme]="'fluent'" #treeReference
[width]="'100%'" [height]="'100%'" [source]="treeSource">
</jqxTree>
</div>
</jqxExpander>
import { Component, ViewChild, AfterViewInit, ViewEncapsulation } from '@angular/core';
import { jqxDropDownButtonComponent, jqxDropDownButtonModule } from 'jqwidgets-ng/jqxdropdownbutton';
import { jqxTreeModule, jqxTreeComponent } from 'jqwidgets-ng/jqxtree';
@Component({
selector: 'app-root',
imports: [jqxTreeModule, jqxDropDownButtonModule],
standalone: true,
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
encapsulation: ViewEncapsulation.None
})
export class AppComponent implements AfterViewInit {
@ViewChild('treeReference') tree: jqxTreeComponent;
ngAfterViewInit(): void {
setTimeout(() => {
this.tree.selectItem(null);
});
}
treeSource: any[] =
[
{
icon: "https://www.jqwidgets.com/angular/images/mailIcon.png", label: "Mail", expanded: true,
items:
[
{ icon: "https://www.jqwidgets.com/angular/images/calendarIcon.png", label: "Calendar" },
{ icon: "https://www.jqwidgets.com/angular/images/contactsIcon.png", label: "Contacts", selected: true }
]
},
{
icon: "https://www.jqwidgets.com/angular/images/folder.png", label: "Inbox", expanded: true,
items:
[
{ icon: "https://www.jqwidgets.com/angular/images/folder.png", label: "Admin" },
{ icon: "https://www.jqwidgets.com/angular/images/folder.png", label: "Corporate" },
{ icon: "https://www.jqwidgets.com/angular/images/folder.png", label: "Finance" },
{ icon: "https://www.jqwidgets.com/angular/images/folder.png", label: "Other" },
]
},
{ icon: "https://www.jqwidgets.com/angular/images/recycle.png", label: "Deleted Items" },
{ icon: "https://www.jqwidgets.com/angular/images/notesIcon.png", label: "Notes" },
{ iconsize: 14, icon: "https://www.jqwidgets.com/angular/images/settings.png", label: "Settings" },
{ icon: "https://www.jqwidgets.com/angular/images/favorites.png", label: "Favorites" }
];
}