feat(explorer): integrate filter option

This commit is contained in:
Ben Schlegel 2023-09-16 19:18:59 +02:00
parent 036a33f70b
commit 31d16fbd2c
No known key found for this signature in database
GPG key ID: 8BDB8891C1575E22
2 changed files with 10 additions and 0 deletions
quartz/components

View file

@ -8,6 +8,7 @@ export interface Options {
folderClickBehavior: "collapse" | "link"
useSavedState: boolean
sortFn: (a: FileNode, b: FileNode) => number
filterFn?: (node: FileNode) => boolean
}
type DataWrapper = {
@ -66,6 +67,10 @@ export class FileNode {
this.children.forEach((e) => e.print(depth + 1))
}
/**
* Filter FileNode tree. Behaves similar to `Array.prototype.filter()`, but modifies tree in place
* @param filterFn function to filter tree with
*/
filter(filterFn: (node: FileNode) => boolean) {
const filteredNodes: FileNode[] = []