From 20dea0661cf102c3318d035c92af5c1959266b3c Mon Sep 17 00:00:00 2001 From: Seth Date: Tue, 31 Oct 2023 14:43:59 +0800 Subject: [PATCH] fix: graph changing --- package.json | 2 +- src/global.d.ts | 6 +++++- src/libs/storage.ts | 3 +-- src/plugin.tsx | 11 +++++++++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4083629..dc4c9d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "logseq-plugin-favorite-tree", - "version": "1.1.1", + "version": "1.1.2", "main": "dist/index.html", "logseq": { "id": "_sethyuan-logseq-favorite-tree", diff --git a/src/global.d.ts b/src/global.d.ts index 38377bf..7da383f 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -1,3 +1,7 @@ -declare global {} +import type { IAsyncStorage } from "@logseq/libs/dist/modules/LSPlugin.Storage" + +declare global { + const storage: IAsyncStorage +} export {} diff --git a/src/libs/storage.ts b/src/libs/storage.ts index 216bf1f..8a0b024 100644 --- a/src/libs/storage.ts +++ b/src/libs/storage.ts @@ -1,5 +1,3 @@ -const storage = logseq.Assets.makeSandboxStorage() - export async function readExpansionState(key: string, readKeys?: Set) { const graphKey = await getGraphKey(key) readKeys?.add(graphKey) @@ -40,6 +38,7 @@ export async function writeExpansionState( export async function allExpansionKeys() { const keys = await storage.allKeys() + if (keys == null) return [] return keys .filter((key) => key.startsWith("expansion-")) .map((key) => diff --git a/src/plugin.tsx b/src/plugin.tsx index b78a925..b2315a9 100644 --- a/src/plugin.tsx +++ b/src/plugin.tsx @@ -68,7 +68,10 @@ async function main() { if (mutation?.target == null) return const target = mutation.target as HTMLElement - if (target.classList?.contains("nav-content-item-inner")) { + if ( + target.classList?.contains("nav-content-item-inner") || + target.classList?.contains("favorites") + ) { await processFavorites() } }) @@ -79,9 +82,13 @@ async function main() { const transactionOff = logseq.DB.onChanged(onTransaction) - const graphOff = logseq.App.onCurrentGraphChanged(adjustLeftBarWidth) + const graphOff = logseq.App.onCurrentGraphChanged(async () => { + ;(window as any).storage = logseq.Assets.makeSandboxStorage() + await adjustLeftBarWidth() + }) await waitForEl("#left-sidebar .favorite-item", 1000) + ;(window as any).storage = logseq.Assets.makeSandboxStorage() const readKeys = new Set() await processFavorites(readKeys)