diff --git a/app/src/block/Panel.ts b/app/src/block/Panel.ts index 304bfcf4c..4468d7d3c 100644 --- a/app/src/block/Panel.ts +++ b/app/src/block/Panel.ts @@ -337,8 +337,8 @@ export class BlockPanel { this.element.querySelector(".block__content").addEventListener("scroll", () => { this.editors.forEach(item => { - hideElements(["gutter"], item.protyle) - }) - }) + hideElements(["gutter"], item.protyle); + }); + }); } } diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 36ea43887..fda40df24 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -737,7 +737,7 @@ export class Files extends Model { } private updateDocInfo(data: IWebSocketData) { - const liElement = this.element.querySelector(`li[data-node-id="${data.data.rootID}"]`) + const liElement = this.element.querySelector(`li[data-node-id="${data.data.rootID}"]`); if (liElement) { liElement.setAttribute("data-count", data.data.subFileCount); liElement.querySelector(".ariaLabel")?.setAttribute("aria-label", this.genDocAriaLabel(data.data, escapeGreat)); diff --git a/app/src/protyle/util/compatibility.ts b/app/src/protyle/util/compatibility.ts index 03e0c273f..223f6ffeb 100644 --- a/app/src/protyle/util/compatibility.ts +++ b/app/src/protyle/util/compatibility.ts @@ -148,7 +148,7 @@ export const isInIOS = () => { export const isInHarmony = () => { return window.siyuan.config.system.container === "harmony" && window.JSHarmony; -} +}; // Mac,Windows 快捷键展示 export const updateHotkeyTip = (hotkey: string) => { diff --git a/app/src/protyle/wysiwyg/index.ts b/app/src/protyle/wysiwyg/index.ts index 153932fef..2e766a6ef 100644 --- a/app/src/protyle/wysiwyg/index.ts +++ b/app/src/protyle/wysiwyg/index.ts @@ -65,7 +65,7 @@ import {openGlobalSearch} from "../../search/util"; import {popSearch} from "../../mobile/menu/search"; /// #endif import {BlockPanel} from "../../block/Panel"; -import {isInIOS, isOnlyMeta, readText} from "../util/compatibility"; +import {isInIOS, isMac, isOnlyMeta, readText} from "../util/compatibility"; import {MenuItem} from "../../menus/Menu"; import {fetchPost} from "../../util/fetch"; import {onGet} from "../util/onGet"; @@ -2007,7 +2007,8 @@ export class WYSIWYG { // 输入法测试点 https://github.com/siyuan-note/siyuan/issues/3027 let isComposition = false; // for iPhone - this.element.addEventListener("compositionstart", (event) => {isComposition = true; + this.element.addEventListener("compositionstart", (event) => { + isComposition = true; event.stopPropagation(); }); @@ -2080,14 +2081,14 @@ export class WYSIWYG { const range = getEditorRange(this.element).cloneRange(); const nodeElement = hasClosestBlock(range.startContainer); - if ( event.key !== "PageUp" && event.key !== "PageDown" && event.key !== "Home" && event.key !== "End" && + if (event.key !== "PageUp" && event.key !== "PageDown" && event.key !== "Home" && event.key !== "End" && event.key.indexOf("Arrow") === -1 && event.key !== "Escape" && event.key !== "Shift" && event.key !== "Meta" && event.key !== "Alt" && event.key !== "Control" && event.key !== "CapsLock" && !event.ctrlKey && !event.shiftKey && !event.metaKey && !event.altKey && - !/^F\d{1,2}$/.test(event.key) ){ + !/^F\d{1,2}$/.test(event.key)) { // 搜狗输入法不走 keydown,需重新记录历史状态 - if ( nodeElement && - ( typeof protyle.wysiwyg.lastHTMLs[nodeElement.getAttribute("data-node-id")] === "undefined"||range.toString()!==""||!this.preventKeyup)) { + if (!isMac() && nodeElement && + (typeof protyle.wysiwyg.lastHTMLs[nodeElement.getAttribute("data-node-id")] === "undefined" || range.toString() !== "" || !this.preventKeyup)) { range.insertNode(document.createElement("wbr")); protyle.wysiwyg.lastHTMLs[nodeElement.getAttribute("data-node-id")] = nodeElement.outerHTML; nodeElement.querySelector("wbr").remove(); diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index c6b15fa4f..847231c1f 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -166,7 +166,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { // 有可能输入 shift+. ,因此需要使用 event.key 来进行判断 if (event.key !== "PageUp" && event.key !== "PageDown" && event.key !== "Home" && event.key !== "End" && event.key.indexOf("Arrow") === -1 && event.key !== "Escape" && event.key !== "Shift" && event.key !== "Meta" && event.key !== "Alt" && event.key !== "Control" && event.key !== "CapsLock" && - !isNotEditBlock(nodeElement) &&!/^F\d{1,2}$/.test(event.key)) { + !isNotEditBlock(nodeElement) && !/^F\d{1,2}$/.test(event.key)) { const cloneRange = range.cloneRange(); range.collapse(false); range.insertNode(document.createElement("wbr")); @@ -174,7 +174,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { nodeElement.querySelector("wbr").remove(); // 光标位于引用结尾后 ctrl+b 偶尔会失效 range = cloneRange; - focusByRange(cloneRange) + focusByRange(cloneRange); protyle.toolbar.range = cloneRange; protyle.wysiwyg.preventKeyup = true; }