mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-23 03:56:23 +00:00
feat: implement filter function for explorer
This commit is contained in:
parent
c7d3474ba8
commit
58aea1cb07
1 changed files with 15 additions and 0 deletions
|
@ -66,6 +66,21 @@ export class FileNode {
|
||||||
this.children.forEach((e) => e.print(depth + 1))
|
this.children.forEach((e) => e.print(depth + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filter(filterFn: (node: FileNode) => boolean) {
|
||||||
|
const filteredNodes: FileNode[] = []
|
||||||
|
|
||||||
|
const traverse = (node: FileNode) => {
|
||||||
|
if (filterFn(node)) {
|
||||||
|
filteredNodes.push(node)
|
||||||
|
}
|
||||||
|
node.children.forEach(traverse)
|
||||||
|
}
|
||||||
|
|
||||||
|
traverse(this)
|
||||||
|
|
||||||
|
this.children = filteredNodes
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get folder representation with state of tree.
|
* Get folder representation with state of tree.
|
||||||
* Intended to only be called on root node before changes to the tree are made
|
* Intended to only be called on root node before changes to the tree are made
|
||||||
|
|
Loading…
Reference in a new issue