From 08c861707b3a473bab663f4bf63f80753ceb8f8e Mon Sep 17 00:00:00 2001
From: Jairus Joer <hello@jairusjoer.com>
Date: Tue, 28 Oct 2025 16:37:32 +0000
Subject: [PATCH] fix(explorer): Disable keyboard navigation on collapsed folders (#2169)
---
quartz/util/fileTrie.ts | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/quartz/util/fileTrie.ts b/quartz/util/fileTrie.ts
index b39833c..9e6706f 100644
--- a/quartz/util/fileTrie.ts
+++ b/quartz/util/fileTrie.ts
@@ -89,6 +89,32 @@
this.insert(file.slug.split("/"), file)
}
+ findNode(path: string[]): FileTrieNode<T> | undefined {
+ if (path.length === 0 || (path.length === 1 && path[0] === "index")) {
+ return this
+ }
+
+ return this.children.find((c) => c.slugSegment === path[0])?.findNode(path.slice(1))
+ }
+
+ ancestryChain(path: string[]): Array<FileTrieNode<T>> | undefined {
+ if (path.length === 0 || (path.length === 1 && path[0] === "index")) {
+ return [this]
+ }
+
+ const child = this.children.find((c) => c.slugSegment === path[0])
+ if (!child) {
+ return undefined
+ }
+
+ const childPath = child.ancestryChain(path.slice(1))
+ if (!childPath) {
+ return undefined
+ }
+
+ return [this, ...childPath]
+ }
+
/**
* Filter trie nodes. Behaves similar to `Array.prototype.filter()`, but modifies tree in place
*/
--
Gitblit v1.10.0