diff --git a/drawio b/drawio index 51bf273..61019d0 160000 --- a/drawio +++ b/drawio @@ -1 +1 @@ -Subproject commit 51bf273caeef4b0b929722b8e97bd7c7e0218399 +Subproject commit 61019d09622a65b48c17a6e159c2f17d23de4d95 diff --git a/src/utils.ts b/src/utils.ts index fa494a9..62f71f4 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -167,7 +167,23 @@ export const removeFile = async (e: LogseqDomEvent) => { const fileName = e.dataset.fileName const uuid = e.dataset.uuid - await storage.removeItem(fileName) + let isUnique = true + try { + const arr = await logseq.DB.datascriptQuery( + `[:find (pull ?b [*]) :where [?b :block/content ?content] [(clojure.string/includes? ?content "${createRenderer(fileName)}")]]` + ) + if (arr.length > 1) { + isUnique = false + } + } catch (e) { + logseq.UI.showMsg(`Failed(${String(e)}) to query block!`, 'error') + return + } + + if (isUnique) { + console.log('remove file', fileName) + await storage.removeItem(fileName) + } const block = await logseq.Editor.getBlock(uuid) if (!block) return