From 7162f249feee661bc55939c2be0bb5c5dc921b81 Mon Sep 17 00:00:00 2001 From: windingwind <33902321+windingwind@users.noreply.github.com> Date: Sun, 30 Jun 2024 13:18:40 +0800 Subject: [PATCH] fix: initialize existing editors on plugin reload --- src/modules/editor/initalize.ts | 1 + src/modules/editor/menu.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/editor/initalize.ts b/src/modules/editor/initalize.ts index 83cfdf0..677671a 100644 --- a/src/modules/editor/initalize.ts +++ b/src/modules/editor/initalize.ts @@ -19,6 +19,7 @@ export function registerEditorInstanceHook() { }, }, ); + Zotero.Notes._editorInstances.forEach(onEditorInstanceCreated); } async function onEditorInstanceCreated(editor: Zotero.EditorInstance) { diff --git a/src/modules/editor/menu.ts b/src/modules/editor/menu.ts index 0cc95f5..47b3fc6 100644 --- a/src/modules/editor/menu.ts +++ b/src/modules/editor/menu.ts @@ -10,10 +10,10 @@ export function initEditorMenu(editor: Zotero.EditorInstance) { const makeId = (key: string) => `${config.addonRef}-editor-menu-${editor.instanceID}-${key}`; // Prevent duplicate menu items - if (editor._popup.getAttribute("bn-init") === "true") { + if (editor._popup.getAttribute("bn-init") === addon.data.uid) { return; } - editor._popup.setAttribute("bn-init", "true"); + editor._popup.setAttribute("bn-init", addon.data.uid); (editor._popup as XUL.Menu).addEventListener("popupshowing", (ev) => { const menuitemID = makeId("resizeImage"); if (