mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-05-18 22:44:14 +02:00
Clean up redundant code
This commit is contained in:
parent
ad1a7d7c91
commit
4e8e251f32
@ -4,10 +4,6 @@ import { FolderState } from "../ExplorerNode"
|
|||||||
type MaybeHTMLElement = HTMLElement | undefined
|
type MaybeHTMLElement = HTMLElement | undefined
|
||||||
let currentExplorerState: FolderState[]
|
let currentExplorerState: FolderState[]
|
||||||
|
|
||||||
function escapeCharacters(str: string) {
|
|
||||||
return str.replace(/'/g, "\\'").replace(/"/g, '\\"')
|
|
||||||
}
|
|
||||||
|
|
||||||
const observer = new IntersectionObserver((entries) => {
|
const observer = new IntersectionObserver((entries) => {
|
||||||
// If last element is observed, remove gradient of "overflow" class so element is visible
|
// If last element is observed, remove gradient of "overflow" class so element is visible
|
||||||
const explorerUl = document.getElementById("explorer-ul")
|
const explorerUl = document.getElementById("explorer-ul")
|
||||||
@ -65,20 +61,13 @@ function toggleExplorer(this: HTMLElement) {
|
|||||||
) as MaybeHTMLElement
|
) as MaybeHTMLElement
|
||||||
if (!content) return
|
if (!content) return
|
||||||
content.classList.toggle("collapsed")
|
content.classList.toggle("collapsed")
|
||||||
//content.style.maxHeight = content.style.maxHeight === "0px" ? content.scrollHeight + "px" : "0px"
|
|
||||||
content.classList.toggle("explorer-viewmode")
|
content.classList.toggle("explorer-viewmode")
|
||||||
|
|
||||||
//prevent scroll under
|
// Prevent scroll under
|
||||||
if (document.querySelector("#mobile-explorer")) {
|
if (document.querySelector("#mobile-explorer")) {
|
||||||
const article = document.querySelectorAll(
|
// Disable scrolling one the page when the explorer is opened on mobile
|
||||||
".popover-hint, footer, .backlinks, .graph, .toc, #progress",
|
const bodySelector = document.querySelector("#quartz-body")
|
||||||
)
|
if (bodySelector) bodySelector.classList.toggle("lock-scroll")
|
||||||
const header = document.querySelector("#quartz-body")
|
|
||||||
if (article)
|
|
||||||
article.forEach((element) => {
|
|
||||||
element.classList.toggle("no-scroll")
|
|
||||||
})
|
|
||||||
if (header) header.classList.toggle("lock-scroll")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,6 +81,7 @@ function setupExplorer() {
|
|||||||
|
|
||||||
// Convert to bool
|
// Convert to bool
|
||||||
const useSavedFolderState = explorer?.dataset.savestate === "true"
|
const useSavedFolderState = explorer?.dataset.savestate === "true"
|
||||||
|
const usePagePathState = explorer?.dataset.pagepathstate === "true"
|
||||||
|
|
||||||
if (explorer) {
|
if (explorer) {
|
||||||
// Get config
|
// Get config
|
||||||
@ -124,15 +114,13 @@ function setupExplorer() {
|
|||||||
const oldExplorerState: FolderState[] =
|
const oldExplorerState: FolderState[] =
|
||||||
storageTree && useSavedFolderState ? JSON.parse(storageTree) : []
|
storageTree && useSavedFolderState ? JSON.parse(storageTree) : []
|
||||||
const oldIndex = new Map(oldExplorerState.map((entry) => [entry.path, entry.collapsed]))
|
const oldIndex = new Map(oldExplorerState.map((entry) => [entry.path, entry.collapsed]))
|
||||||
//console.log(explorer.dataset.tree)
|
|
||||||
//console.log(explorer.dataset.tree ? JSON.parse(explorer.dataset.tree) : [])
|
|
||||||
const newExplorerState: FolderState[] = explorer.dataset.tree
|
const newExplorerState: FolderState[] = explorer.dataset.tree
|
||||||
? JSON.parse(explorer.dataset.tree)
|
? JSON.parse(explorer.dataset.tree)
|
||||||
: []
|
: []
|
||||||
currentExplorerState = []
|
currentExplorerState = []
|
||||||
|
|
||||||
for (const { path, collapsed } of newExplorerState) {
|
for (const { path, collapsed } of newExplorerState) {
|
||||||
currentExplorerState.push({ path, collapsed: /*oldIndex.get(path) ?? */ collapsed })
|
currentExplorerState.push({ path, collapsed: usePagePathState ? oldIndex.get(path) ?? collapsed : collapsed })
|
||||||
}
|
}
|
||||||
|
|
||||||
currentExplorerState.map((folderState) => {
|
currentExplorerState.map((folderState) => {
|
||||||
@ -167,24 +155,15 @@ function toggleExplorerFolders() {
|
|||||||
|
|
||||||
window.addEventListener("resize", setupExplorer)
|
window.addEventListener("resize", setupExplorer)
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
|
||||||
const explorer = document.querySelector("#mobile-explorer")
|
|
||||||
if (explorer) {
|
|
||||||
explorer.classList.add("collapsed")
|
|
||||||
const content = explorer.nextElementSibling?.nextElementSibling as HTMLElement
|
|
||||||
content.classList.add("collapsed")
|
|
||||||
content.classList.toggle("explorer-viewmode")
|
|
||||||
}
|
|
||||||
toggleExplorerFolders()
|
|
||||||
})
|
|
||||||
|
|
||||||
document.addEventListener("nav", () => {
|
document.addEventListener("nav", () => {
|
||||||
const explorer = document.querySelector("#mobile-explorer")
|
const explorer = document.querySelector("#mobile-explorer")
|
||||||
if (explorer) {
|
if (explorer) {
|
||||||
explorer.classList.add("collapsed")
|
explorer.classList.add("collapsed")
|
||||||
const content = explorer.nextElementSibling?.nextElementSibling as HTMLElement
|
const content = explorer.nextElementSibling?.nextElementSibling as HTMLElement
|
||||||
content.classList.add("collapsed")
|
if (content) {
|
||||||
content.classList.toggle("explorer-viewmode")
|
content.classList.add("collapsed")
|
||||||
|
content.classList.toggle("explorer-viewmode")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setupExplorer()
|
setupExplorer()
|
||||||
//add collapsed class to all folders
|
//add collapsed class to all folders
|
||||||
|
Loading…
x
Reference in New Issue
Block a user