From 9cefcd0dd1a503c727c8bbb2deb1b631329b3a42 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 20 Sep 2024 22:48:14 +0000
Subject: [PATCH] Revert "perf: eagerly compute explorer nodes to avoid re-render in memoized value"
---
quartz/components/scripts/explorer.inline.ts | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/quartz/components/scripts/explorer.inline.ts b/quartz/components/scripts/explorer.inline.ts
index 12546bb..584de6c 100644
--- a/quartz/components/scripts/explorer.inline.ts
+++ b/quartz/components/scripts/explorer.inline.ts
@@ -17,6 +17,10 @@
function toggleExplorer(this: HTMLElement) {
this.classList.toggle("collapsed")
+ this.setAttribute(
+ "aria-expanded",
+ this.getAttribute("aria-expanded") === "true" ? "false" : "true",
+ )
const content = this.nextElementSibling as MaybeHTMLElement
if (!content) return
@@ -57,20 +61,20 @@
for (const item of document.getElementsByClassName(
"folder-button",
) as HTMLCollectionOf<HTMLElement>) {
- item.removeEventListener("click", toggleFolder)
item.addEventListener("click", toggleFolder)
+ window.addCleanup(() => item.removeEventListener("click", toggleFolder))
}
}
- explorer.removeEventListener("click", toggleExplorer)
explorer.addEventListener("click", toggleExplorer)
+ window.addCleanup(() => explorer.removeEventListener("click", toggleExplorer))
// Set up click handlers for each folder (click handler on folder "icon")
for (const item of document.getElementsByClassName(
"folder-icon",
) as HTMLCollectionOf<HTMLElement>) {
- item.removeEventListener("click", toggleFolder)
item.addEventListener("click", toggleFolder)
+ window.addCleanup(() => item.removeEventListener("click", toggleFolder))
}
// Get folder state from local storage
--
Gitblit v1.10.0