From 58aea1cb0791e18cd092d88de5374431eba7f1d3 Mon Sep 17 00:00:00 2001
From: Ben Schlegel <ben5.schlegel@gmail.com>
Date: Sat, 16 Sep 2023 15:28:58 +0000
Subject: [PATCH] feat: implement filter function for explorer
---
quartz/components/ExplorerNode.tsx | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/quartz/components/ExplorerNode.tsx b/quartz/components/ExplorerNode.tsx
index 4d00103..40e526a 100644
--- a/quartz/components/ExplorerNode.tsx
+++ b/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
--
Gitblit v1.10.0