From eb22eb9fb907056d4da2a4d900a3abe8bd545949 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 16 Aug 2023 13:31:37 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/8913 --- app/src/boot/globalShortcut.ts | 20 +++++++++++++------- app/src/dialog/index.ts | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/src/boot/globalShortcut.ts b/app/src/boot/globalShortcut.ts index 2954ca12d..9ee95317f 100644 --- a/app/src/boot/globalShortcut.ts +++ b/app/src/boot/globalShortcut.ts @@ -679,6 +679,19 @@ export const globalShortcut = (app: App) => { event.preventDefault(); return; } + // https://github.com/siyuan-note/siyuan/issues/8913#issuecomment-1679720605 + const confirmElement = document.querySelector("#confirmDialogConfirmBtn"); + if (confirmElement) { + if (event.key === "Enter") { + confirmElement.dispatchEvent(new CustomEvent("click")); + event.preventDefault(); + return; + } else if (event.key === "Escape") { + confirmElement.previousElementSibling.previousElementSibling.dispatchEvent(new CustomEvent("click")); + event.preventDefault(); + return; + } + } if (event.key === "Escape" && !event.isComposing) { const imgPreviewElement = document.querySelector(".protyle-img"); @@ -761,13 +774,6 @@ export const globalShortcut = (app: App) => { return; } - const confirmElement = document.querySelector("#confirmDialogConfirmBtn"); - if (confirmElement && event.key === "Enter") { - confirmElement.dispatchEvent(new CustomEvent("click")); - event.preventDefault(); - return; - } - // close tab if (matchHotKey(window.siyuan.config.keymap.general.closeTab.custom, event) && !event.repeat) { event.preventDefault(); diff --git a/app/src/dialog/index.ts b/app/src/dialog/index.ts index fbcc7bccc..eff784626 100644 --- a/app/src/dialog/index.ts +++ b/app/src/dialog/index.ts @@ -87,15 +87,25 @@ export class Dialog { event.preventDefault(); return; } + const confirmElement = document.querySelector("#confirmDialogConfirmBtn"); if (event.key === "Escape") { - this.destroy(); + if (confirmElement) { + confirmElement.previousElementSibling.previousElementSibling.dispatchEvent(new CustomEvent("click")); + } else { + this.destroy(); + } event.preventDefault(); event.stopPropagation(); return; } if (!event.shiftKey && !isCtrl(event) && event.key === "Enter" && enterEvent) { - enterEvent(); + if (confirmElement) { + confirmElement.dispatchEvent(new CustomEvent("click")); + } else { + enterEvent(); + } event.preventDefault(); + event.stopPropagation(); } }); }