diff --git a/app/src/card/openCard.ts b/app/src/card/openCard.ts index ce72e8456..bd8f7487b 100644 --- a/app/src/card/openCard.ts +++ b/app/src/card/openCard.ts @@ -7,6 +7,15 @@ import {onGet} from "../protyle/util/onGet"; import {hasClosestByClassName} from "../protyle/util/hasClosest"; export const openCard = () => { + const exit = window.siyuan.dialogs.find(item => { + if (item.element.getAttribute("data-key") === window.siyuan.config.keymap.general.riffCard.custom) { + item.destroy(); + return true + } + }) + if (exit) { + return; + } let decksHTML = ''; fetchPost("/api/riff/getRiffDecks", {}, (response) => { response.data.forEach((deck: { id: string, name: string }) => { diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index 8b5bc480b..70ba281f6 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -537,6 +537,7 @@ export const globalShortcut = () => { if (matchHotKey(window.siyuan.config.keymap.general.riffCard.custom, event)) { openCard(); if (target.classList.contains("protyle-wysiwyg") || + target.tagName === "TABLE" || target.classList.contains("protyle-title__input") || target.tagName === "INPUT" || target.tagName === "TEXTAREA") { target.blur(); @@ -547,6 +548,7 @@ export const globalShortcut = () => { if (matchHotKey(window.siyuan.config.keymap.general.dailyNote.custom, event)) { newDailyNote(); if (target.classList.contains("protyle-wysiwyg") || + target.tagName === "TABLE" || target.classList.contains("protyle-title__input") || target.tagName === "INPUT" || target.tagName === "TEXTAREA") { target.blur(); diff --git a/app/src/util/mount.ts b/app/src/util/mount.ts index ab19377a8..0a3e5264c 100644 --- a/app/src/util/mount.ts +++ b/app/src/util/mount.ts @@ -7,6 +7,15 @@ import {getNotebookName, getOpenNotebookCount} from "./pathName"; import {validateName} from "../editor/rename"; export const newDailyNote = () => { + const exit = window.siyuan.dialogs.find(item => { + if (item.element.getAttribute("data-key") === window.siyuan.config.keymap.general.dailyNote.custom) { + item.destroy(); + return true + } + }) + if (exit) { + return; + } const openCount = getOpenNotebookCount(); if (openCount === 0) { showMessage(window.siyuan.languages.newFileTip); @@ -48,6 +57,7 @@ export const newDailyNote = () => { `, width: isMobile() ? "80vw" : "520px", }); + dialog.element.setAttribute("data-key", window.siyuan.config.keymap.general.dailyNote.custom); const btnsElement = dialog.element.querySelectorAll(".b3-button"); const selectElement = dialog.element.querySelector(".b3-select") as HTMLSelectElement; selectElement.value = localNotebookId;