From de8f881106c6d51a22d9df0bcb247c70483d667f Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 25 Mar 2023 09:31:32 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/7724 --- app/src/protyle/gutter/index.ts | 46 ++++++++++++----------- app/src/protyle/header/Title.ts | 66 +++++++++++++++++---------------- 2 files changed, 60 insertions(+), 52 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 4d05c81b7..bf17f7ba6 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -683,20 +683,22 @@ export class Gutter { quickMakeCard(selectsElement); } }).element); - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.addToDeck, - icon: "iconRiffCard", - click() { - const ids: string[] = []; - selectsElement.forEach(item => { - if (item.getAttribute("data-type") === "NodeThematicBreak") { - return; - } - ids.push(item.getAttribute("data-node-id")); - }); - makeCard(ids); - } - }).element); + if (window.siyuan.config.flashcard.deck) { + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.addToDeck, + icon: "iconRiffCard", + click() { + const ids: string[] = []; + selectsElement.forEach(item => { + if (item.getAttribute("data-type") === "NodeThematicBreak") { + return; + } + ids.push(item.getAttribute("data-node-id")); + }); + makeCard(ids); + } + }).element); + } return window.siyuan.menus.menu; } @@ -1469,13 +1471,15 @@ export class Gutter { quickMakeCard([nodeElement]); } }).element); - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.addToDeck, - icon: "iconRiffCard", - click() { - makeCard([nodeElement.getAttribute("data-node-id")]); - } - }).element); + if (window.siyuan.config.flashcard.deck) { + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.addToDeck, + icon: "iconRiffCard", + click() { + makeCard([nodeElement.getAttribute("data-node-id")]); + } + }).element); + } window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); } let updateHTML = nodeElement.getAttribute("updated") || ""; diff --git a/app/src/protyle/header/Title.ts b/app/src/protyle/header/Title.ts index b30f96d96..c2b0e8d5c 100644 --- a/app/src/protyle/header/Title.ts +++ b/app/src/protyle/header/Title.ts @@ -364,42 +364,46 @@ export class Title { openFileWechatNotify(protyle); } }).element); - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.riffCard, - type: "submenu", - icon: "iconRiffCard", - submenu: [{ - iconHTML: Constants.ZWSP, - label: window.siyuan.languages.spaceRepetition, - click: () => { - fetchPost("/api/riff/getTreeRiffDueCards", {rootID: protyle.block.rootID}, (response) => { - openCardByData(response.data, `${escapeHtml(this.editElement.textContent)}`); - }); - } - }, { - iconHTML: Constants.ZWSP, - label: window.siyuan.languages.mgmt, - click: () => { - fetchPost("/api/filetree/getHPathByID", { - id: protyle.block.rootID - }, (response) => { - viewCards(protyle.block.rootID, pathPosix().join(getNotebookName(protyle.notebookId), (response.data)), "Tree"); - }); - } - }, { - iconHTML: Constants.ZWSP, - label: window.siyuan.languages.quickMakeCard, - accelerator: window.siyuan.config.keymap.editor.general.quickMakeCard.custom, - click: () => { - quickMakeCard([this.element]); - } - }, { + const riffCardMenu = [{ + iconHTML: Constants.ZWSP, + label: window.siyuan.languages.spaceRepetition, + click: () => { + fetchPost("/api/riff/getTreeRiffDueCards", {rootID: protyle.block.rootID}, (response) => { + openCardByData(response.data, `${escapeHtml(this.editElement.textContent)}`); + }); + } + }, { + iconHTML: Constants.ZWSP, + label: window.siyuan.languages.mgmt, + click: () => { + fetchPost("/api/filetree/getHPathByID", { + id: protyle.block.rootID + }, (response) => { + viewCards(protyle.block.rootID, pathPosix().join(getNotebookName(protyle.notebookId), (response.data)), "Tree"); + }); + } + }, { + iconHTML: Constants.ZWSP, + label: window.siyuan.languages.quickMakeCard, + accelerator: window.siyuan.config.keymap.editor.general.quickMakeCard.custom, + click: () => { + quickMakeCard([this.element]); + } + }] + if (window.siyuan.config.flashcard.deck) { + riffCardMenu.push({ iconHTML: Constants.ZWSP, label: window.siyuan.languages.addToDeck, click: () => { makeCard([protyle.block.rootID]); } - }], + }) + } + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.riffCard, + type: "submenu", + icon: "iconRiffCard", + submenu: riffCardMenu, }).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({