From d1b109e04325697d7b66bbd00a8219025d119818 Mon Sep 17 00:00:00 2001 From: windingwind <33902321+windingwind@users.noreply.github.com> Date: Tue, 9 Apr 2024 22:43:18 +0800 Subject: [PATCH] fix: editor link popup button order fix: #929 --- src/modules/editor/popup.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/modules/editor/popup.ts b/src/modules/editor/popup.ts index 605f842..38d6b91 100644 --- a/src/modules/editor/popup.ts +++ b/src/modules/editor/popup.ts @@ -11,6 +11,7 @@ import { } from "../../utils/editor"; import { getNoteLink, getNoteLinkParams } from "../../utils/link"; import { getString } from "../../utils/locale"; +import { waitUtilAsync } from "../../utils/wait"; export function initEditorPopup(editor: Zotero.EditorInstance) { const ob = new (ztoolkit.getGlobal("MutationObserver"))((muts) => { @@ -143,9 +144,13 @@ async function updateEditorLinkPopup(editor: Zotero.EditorInstance) { ], }); - _window.document - .querySelector(".link-popup") - ?.append(insertButton, updateButton, openButton); + const linkPopup = _window.document.querySelector(".link-popup"); + if (!linkPopup) { + return; + } + // Ensure the builtin buttons are appended + await waitUtilAsync(() => linkPopup.querySelectorAll("button").length >= 2); + linkPopup?.append(insertButton, updateButton, openButton); } else { Array.from(_window.document.querySelectorAll(".link-popup-extra")).forEach( (elem) => elem.remove(),