This commit is contained in:
Vanessa 2023-04-14 22:42:21 +08:00
parent 7557c77b9f
commit 671f182d5c
6 changed files with 26 additions and 28 deletions

View file

@ -146,7 +146,7 @@ export const openCardByData = (cardsData: {
const actionElements = dialog.element.querySelectorAll(".card__action"); const actionElements = dialog.element.querySelectorAll(".card__action");
const filterElement = dialog.element.querySelector('[data-type="filter"]'); const filterElement = dialog.element.querySelector('[data-type="filter"]');
const fetchNewRound = () => { const fetchNewRound = () => {
const currentCardType = filterElement.getAttribute("data-cardtype") const currentCardType = filterElement.getAttribute("data-cardtype");
fetchPost(currentCardType === "all" ? "/api/riff/getRiffDueCards" : fetchPost(currentCardType === "all" ? "/api/riff/getRiffDueCards" :
(currentCardType === "doc" ? "/api/riff/getTreeRiffDueCards" : "/api/riff/getNotebookRiffDueCards"), { (currentCardType === "doc" ? "/api/riff/getTreeRiffDueCards" : "/api/riff/getNotebookRiffDueCards"), {
rootID: filterElement.getAttribute("data-id"), rootID: filterElement.getAttribute("data-id"),
@ -167,7 +167,7 @@ export const openCardByData = (cardsData: {
allDone(countElement, editor, actionElements); allDone(countElement, editor, actionElements);
} }
}); });
} };
dialog.element.addEventListener("click", (event) => { dialog.element.addEventListener("click", (event) => {
const target = event.target as HTMLElement; const target = event.target as HTMLElement;
@ -212,9 +212,9 @@ export const openCardByData = (cardsData: {
iconHTML: Constants.ZWSP, iconHTML: Constants.ZWSP,
label: window.siyuan.languages.all, label: window.siyuan.languages.all,
click() { click() {
filterElement.setAttribute("data-id", "") filterElement.setAttribute("data-id", "");
filterElement.setAttribute("data-cardtype", "all") filterElement.setAttribute("data-cardtype", "all");
fetchNewRound() fetchNewRound();
}, },
}).element); }).element);
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
@ -222,10 +222,10 @@ export const openCardByData = (cardsData: {
label: window.siyuan.languages.fileTree, label: window.siyuan.languages.fileTree,
click() { click() {
movePathTo((toPath, toNotebook) => { movePathTo((toPath, toNotebook) => {
filterElement.setAttribute("data-id", toPath[0] === "/" ? toNotebook[0] : getDisplayName(toPath[0], true, true)) filterElement.setAttribute("data-id", toPath[0] === "/" ? toNotebook[0] : getDisplayName(toPath[0], true, true));
filterElement.setAttribute("data-cardtype", toPath[0] === "/" ? "notebook" : "doc") filterElement.setAttribute("data-cardtype", toPath[0] === "/" ? "notebook" : "doc");
fetchNewRound(); fetchNewRound();
}, [], undefined, window.siyuan.languages.specifyPath, true) }, [], undefined, window.siyuan.languages.specifyPath, true);
} }
}).element); }).element);
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
@ -234,9 +234,9 @@ export const openCardByData = (cardsData: {
iconHTML: Constants.ZWSP, iconHTML: Constants.ZWSP,
label: escapeHtml(title), label: escapeHtml(title),
click() { click() {
filterElement.setAttribute("data-id", id) filterElement.setAttribute("data-id", id);
filterElement.setAttribute("data-cardtype", cardType) filterElement.setAttribute("data-cardtype", cardType);
fetchNewRound() fetchNewRound();
}, },
}).element); }).element);
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
@ -246,13 +246,13 @@ export const openCardByData = (cardsData: {
iconHTML: Constants.ZWSP, iconHTML: Constants.ZWSP,
label: escapeHtml(deck.name), label: escapeHtml(deck.name),
click() { click() {
filterElement.setAttribute("data-id", deck.id) filterElement.setAttribute("data-id", deck.id);
filterElement.setAttribute("data-cardtype", "all") filterElement.setAttribute("data-cardtype", "all");
fetchNewRound() fetchNewRound();
}, },
}).element); }).element);
}); });
const filterRect = filterTempElement.getBoundingClientRect() const filterRect = filterTempElement.getBoundingClientRect();
window.siyuan.menus.menu.popup({x: filterRect.left, y: filterRect.bottom}); window.siyuan.menus.menu.popup({x: filterRect.left, y: filterRect.bottom});
}); });
event.stopPropagation(); event.stopPropagation();
@ -326,7 +326,7 @@ export const openCardByData = (cardsData: {
/// #endif /// #endif
index++; index++;
if (index > blocks.length - 1) { if (index > blocks.length - 1) {
const currentCardType = filterElement.getAttribute("data-cardtype") const currentCardType = filterElement.getAttribute("data-cardtype");
fetchPost(currentCardType === "all" ? "/api/riff/getRiffDueCards" : fetchPost(currentCardType === "all" ? "/api/riff/getRiffDueCards" :
(currentCardType === "doc" ? "/api/riff/getTreeRiffDueCards" : "/api/riff/getNotebookRiffDueCards"), { (currentCardType === "doc" ? "/api/riff/getTreeRiffDueCards" : "/api/riff/getNotebookRiffDueCards"), {
rootID: filterElement.getAttribute("data-id"), rootID: filterElement.getAttribute("data-id"),

View file

@ -26,7 +26,7 @@ import {countBlockWord, countSelectWord} from "../layout/status";
import {showMessage} from "../dialog/message"; import {showMessage} from "../dialog/message";
import {getSearch} from "../util/functions"; import {getSearch} from "../util/functions";
export const openFileById = (options: { export const openFileById = async (options: {
id: string, id: string,
position?: string, position?: string,
mode?: TEditorMode, mode?: TEditorMode,

View file

@ -27,7 +27,6 @@ import {getDockByType} from "../layout/util";
import {Files} from "../layout/dock/Files"; import {Files} from "../layout/dock/Files";
import {openNewWindowById} from "../window/openNewWindow"; import {openNewWindowById} from "../window/openNewWindow";
import {openCardByData} from "../card/openCard"; import {openCardByData} from "../card/openCard";
import {escapeHtml} from "../util/escape";
/// #if MOBILE /// #if MOBILE
import {closePanel} from "../mobile/util/closePanel"; import {closePanel} from "../mobile/util/closePanel";
/// #endif /// #endif

View file

@ -598,7 +598,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
fetchPost("/api/asset/getImageOCRText", { fetchPost("/api/asset/getImageOCRText", {
path: imgElement.getAttribute("src"), path: imgElement.getAttribute("src"),
force: true force: true
}) });
} }
}, { }, {
iconHTML: Constants.ZWSP, iconHTML: Constants.ZWSP,
@ -608,8 +608,8 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
path: imgElement.getAttribute("src"), path: imgElement.getAttribute("src"),
force: false force: false
}, (response) => { }, (response) => {
element.querySelector("textarea").value = response.data.text element.querySelector("textarea").value = response.data.text;
}) });
} }
}], }],
}).element); }).element);
@ -708,7 +708,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
const textElements = window.siyuan.menus.menu.element.querySelectorAll("textarea"); const textElements = window.siyuan.menus.menu.element.querySelectorAll("textarea");
textElements[0].focus(); textElements[0].focus();
window.siyuan.menus.menu.removeCB = () => { window.siyuan.menus.menu.removeCB = () => {
const ocrElemennt = window.siyuan.menus.menu.element.querySelector('[data-type="ocr"]') as HTMLTextAreaElement const ocrElemennt = window.siyuan.menus.menu.element.querySelector('[data-type="ocr"]') as HTMLTextAreaElement;
if (ocrElemennt) { if (ocrElemennt) {
fetchPost("/api/asset/setImageOCRText", { fetchPost("/api/asset/setImageOCRText", {
path: imgElement.getAttribute("src"), path: imgElement.getAttribute("src"),

View file

@ -18,7 +18,6 @@ import {getCurrentWindow} from "@electron/remote";
import {Constants} from "../../constants"; import {Constants} from "../../constants";
import {matchHotKey} from "../util/hotKey"; import {matchHotKey} from "../util/hotKey";
import {readText, updateHotkeyTip, writeText} from "../util/compatibility"; import {readText, updateHotkeyTip, writeText} from "../util/compatibility";
import {escapeHtml} from "../../util/escape";
import * as dayjs from "dayjs"; import * as dayjs from "dayjs";
import {setPanelFocus} from "../../layout/util"; import {setPanelFocus} from "../../layout/util";
import {updatePanelByEditor} from "../../editor/util"; import {updatePanelByEditor} from "../../editor/util";

View file

@ -187,8 +187,8 @@ export class WYSIWYG {
private emojiToMd(element:HTMLElement) { private emojiToMd(element:HTMLElement) {
element.querySelectorAll(".emoji").forEach((item: HTMLElement) => { element.querySelectorAll(".emoji").forEach((item: HTMLElement) => {
item.outerHTML = `:${item.getAttribute("alt")}:` item.outerHTML = `:${item.getAttribute("alt")}:`;
}) });
} }
private bindCommonEvent(protyle: IProtyle) { private bindCommonEvent(protyle: IProtyle) {
@ -263,11 +263,11 @@ export class WYSIWYG {
} else if (!["DIV", "TD", "TH", "TR"].includes(range.startContainer.parentElement.tagName)) { } else if (!["DIV", "TD", "TH", "TR"].includes(range.startContainer.parentElement.tagName)) {
// 复制行内元素 https://github.com/siyuan-note/insider/issues/191 // 复制行内元素 https://github.com/siyuan-note/insider/issues/191
tempElement.append(range.startContainer.parentElement.cloneNode(true)); tempElement.append(range.startContainer.parentElement.cloneNode(true));
this.emojiToMd(tempElement) this.emojiToMd(tempElement);
} else { } else {
// 直接复制块 https://github.com/siyuan-note/insider/issues/318 // 直接复制块 https://github.com/siyuan-note/insider/issues/318
tempElement.append(range.cloneContents()); tempElement.append(range.cloneContents());
this.emojiToMd(tempElement) this.emojiToMd(tempElement);
} }
html = tempElement.innerHTML; html = tempElement.innerHTML;
} else if (selectImgElement) { } else if (selectImgElement) {
@ -289,7 +289,7 @@ export class WYSIWYG {
html = spanElement.outerHTML; html = spanElement.outerHTML;
} else { } else {
tempElement.append(range.cloneContents()); tempElement.append(range.cloneContents());
this.emojiToMd(tempElement) this.emojiToMd(tempElement);
const inlineMathElement = hasClosestByAttribute(range.commonAncestorContainer, "data-type", "inline-math"); const inlineMathElement = hasClosestByAttribute(range.commonAncestorContainer, "data-type", "inline-math");
if (inlineMathElement) { if (inlineMathElement) {
// 表格内复制数学公式 https://ld246.com/article/1631708573504 // 表格内复制数学公式 https://ld246.com/article/1631708573504