MCPcopy Create free account
hub / github.com/angular/components / filterTreeNodes

Method filterTreeNodes

src/aria/combobox/combobox.spec.ts:1543–1560  ·  view source on GitHub ↗
(nodes: TreeNode[])

Source from the content-addressed store, hash-verified

1541 }
1542
1543 filterTreeNodes(nodes: TreeNode[]): TreeNode[] {
1544 const search = this.searchString().trim().toLowerCase();
1545 if (!search) {
1546 return nodes;
1547 }
1548
1549 return nodes.reduce((acc, node) => {
1550 const children = node.children ? this.filterTreeNodes(node.children) : undefined;
1551 if (this.isMatch(node) || (children && children.length > 0)) {
1552 acc.push({
1553 ...node,
1554 children,
1555 expanded: children && children.length > 0 ? true : node.expanded,
1556 });
1557 }
1558 return acc;
1559 }, [] as TreeNode[]);
1560 }
1561
1562 isMatch(node: TreeNode) {
1563 return node.name.toLowerCase().includes(this.searchString().toLowerCase());

Callers 1

ComboboxTreeExampleClass · 0.95

Calls 2

isMatchMethod · 0.95
pushMethod · 0.65

Tested by

no test coverage detected