Emitted when the active node is changed.
Get/Set the animation settings that branches should use when expanding/collpasing.
<igx-tree [animationSettings]="customAnimationSettings">
</igx-tree>
const animationSettings: ToggleAnimationSettings = {
openAnimation: growVerIn,
closeAnimation: growVerOut
};
this.tree.animationSettings = animationSettings;
A custom template to be used for the expand indicator of nodes
<igx-tree>
<ng-template igxTreeExpandIndicator let-expanded>
<igx-icon>{{ expanded ? "close_fullscreen": "open_in_full"}}</igx-icon>
</ng-template>
</igx-tree>
Emitted when a node is collapsed, after it finishes
Emitted when a node is collapsing, before it finishes
<igx-tree (nodeCollapsing)="handleNodeCollapsing($event)">
</igx-tree>
public handleNodeCollapsing(event: ITreeNodeTogglingEventArgs) {
const collapsedNode: IgxTreeNode<any> = event.node;
if (collapsedNode.alwaysOpen) {
event.cancel = true;
}
}
Emitted when a node is expanded, after it finishes
<igx-tree (nodeExpanded)="handleNodeExpanded($event)">
</igx-tree>
public handleNodeExpanded(event: ITreeNodeToggledEventArgs) {
const expandedNode: IgxTreeNode<any> = event.node;
console.log("Node is expanded: ", expandedNode.data);
}
Emitted when a node is expanding, before it finishes
<igx-tree (nodeExpanding)="handleNodeExpanding($event)">
</igx-tree>
public handleNodeExpanding(event: ITreeNodeTogglingEventArgs) {
const expandedNode: IgxTreeNode<any> = event.node;
if (expandedNode.disabled) {
event.cancel = true;
}
}
Emitted when the node selection is changed through interaction
<igx-tree (nodeSelection)="handleNodeSelection($event)">
</igx-tree>
public handleNodeSelection(event: ITreeNodeSelectionEvent) {
const newSelection: IgxTreeNode<any>[] = event.newSelection;
const added: IgxTreeNode<any>[] = event.added;
console.log("New selection will be: ", newSelection);
console.log("Added nodes: ", event.added);
}
Get/Set how the tree should handle branch expansion.
If set to true
, only a single branch can be expanded at a time, collapsing all others
<igx-tree [singleBranchExpand]="true">
...
</igx-tree>
const tree: IgxTree = this.tree;
this.tree.singleBranchExpand = false;
Get/Set if nodes should be expanded/collapsed when clicking over them.
<igx-tree [toggleNodeOnClick]="true">
...
</igx-tree>
const tree: IgxTree = this.tree;
this.tree.toggleNodeOnClick = false;
Returns all root level nodes
const tree: IgxTree = this.tree;
const rootNodes: IgxTreeNodeComponent<any>[] = tree.rootNodes;
Gets/Sets tree selection mode
Collapses all of the passed nodes. If no nodes are passed, collapses ALL nodes
nodes to be collapsed
const targetNodes: IgxTreeNode<any> = this.tree.findNodes(true, (_data: any, node: IgxTreeNode<any>) => node.data.collapsible);
tree.collapseAll(nodes);
Deselect all nodes if the nodes collection is empty. Otherwise, deselect the nodes in the nodes collection.
const arr = [
this.tree.nodes.toArray()[0],
this.tree.nodes.toArray()[1]
];
this.tree.deselectAll(arr);
Expands all of the passed nodes. If no nodes are passed, expands ALL nodes
nodes to be expanded
const targetNodes: IgxTreeNode<any> = this.tree.findNodes(true, (_data: any, node: IgxTreeNode<any>) => node.data.expandable);
tree.expandAll(nodes);
Returns all of the nodes that match the passed searchTerm. Accepts a custom comparer function for evaluating the search term against the nodes.
Default search compares the passed searchTerm
against the node's data
Input.
When using findNodes
w/o a comparer
, make sure all nodes have data
passed.
The data of the searched node
A custom comparer function that evaluates the passed searchTerm
against all nodes.
IgxTreeComponent allows a developer to show a set of nodes in a hierarchical fashion.
Igx Module
IgxTreeModule
Igx Keywords
tree
Igx Theme
igx-tree-theme
Igx Group
Grids & Lists
Remark
The Angular Tree Component allows users to represent hierarchical data in a tree-view structure, maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model. Its primary purpose is to allow end-users to visualize and navigate within hierarchical data structures. The Ignite UI for Angular Tree Component also provides load on demand capabilities, item activation, bi-state and cascading selection of items through built-in checkboxes, built-in keyboard navigation and more.
Example