Ben Schlegel
2023-09-16 58aea1cb0791e18cd092d88de5374431eba7f1d3
feat: implement filter function for explorer
1 files modified
15 ■■■■■ changed files
quartz/components/ExplorerNode.tsx 15 ●●●●● patch | view | raw | blame | history
quartz/components/ExplorerNode.tsx
@@ -66,6 +66,21 @@
    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.
   * Intended to only be called on root node before changes to the tree are made