From ce50681a29f62a086152f62fcf2bb9dbc37127a4 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Tue, 21 Feb 2023 13:44:42 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E7=82=B9=E5=87=BB=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E5=88=B6=E5=8D=A1=E5=8F=AF=E8=BF=9B=E8=A1=8C=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/card/makeCard.ts | 20 ++++++++++++++++---- app/src/protyle/wysiwyg/keydown.ts | 17 +---------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/app/src/card/makeCard.ts b/app/src/card/makeCard.ts index 127780652..14d89c604 100644 --- a/app/src/card/makeCard.ts +++ b/app/src/card/makeCard.ts @@ -174,17 +174,29 @@ export const makeCard = (nodeElement: Element[]) => { }; export const quickMakeCard = (nodeElement: Element[]) => { + let isRemove = true; const ids: string[] = []; nodeElement.forEach(item => { if (item.getAttribute("data-type") === "NodeThematicBreak") { return; } + item.classList.remove("protyle-wysiwyg--select"); ids.push(item.getAttribute("data-node-id")); + if ((item.getAttribute("custom-riff-decks") || "").indexOf(Constants.QUICK_DECK_ID) === -1) { + isRemove = false; + } }); - fetchPost("/api/riff/addRiffCards", { - deckID: Constants.QUICK_DECK_ID, - blockIDs: ids - }); + if (isRemove) { + fetchPost("/api/riff/removeRiffCards", { + deckID: Constants.QUICK_DECK_ID, + blockIDs: ids + }); + } else { + fetchPost("/api/riff/addRiffCards", { + deckID: Constants.QUICK_DECK_ID, + blockIDs: ids + }); + } }; diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 5ae6fec60..a42d3789f 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -999,25 +999,10 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { if (!hasClosestByClassName(nodeElement, "protyle-wysiwyg--select")) { nodeElement.classList.add("protyle-wysiwyg--select"); } - let isRemove = true; - const removeIds: string[] = []; protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(item => { selectElement.push(item); - item.classList.remove("protyle-wysiwyg--select"); - removeIds.push(item.getAttribute("data-node-id")); - if ((item.getAttribute("custom-riff-decks") || "").indexOf(Constants.QUICK_DECK_ID) === -1) { - isRemove = false; - } }); - - if (isRemove) { - fetchPost("/api/riff/removeRiffCards", { - deckID: Constants.QUICK_DECK_ID, - blockIDs: removeIds - }); - } else { - quickMakeCard(selectElement); - } + quickMakeCard(selectElement); event.preventDefault(); event.stopPropagation(); return true;