From 28957d3ba67c8a263aa7df4385244bd078016679 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Thu, 8 Dec 2022 21:53:07 +0800 Subject: [PATCH] :recycle: https://github.com/siyuan-note/siyuan/pull/6820 --- app/src/editor/util.ts | 9 ++++++--- app/src/layout/dock/Files.ts | 15 --------------- app/src/util/globalShortcut.ts | 6 +++--- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/app/src/editor/util.ts b/app/src/editor/util.ts index 3e00e91af..98b9da7e5 100644 --- a/app/src/editor/util.ts +++ b/app/src/editor/util.ts @@ -103,7 +103,7 @@ const openFile = (options: IOpenFileOptions) => { return true; } // 没有初始化的页签无法检测到 - const hasEditor = getUnInitTab(options); + const hasEditor = getUnInitTab(options); if (hasEditor) { return; } @@ -345,8 +345,11 @@ export const updatePanelByEditor = (protyle?: IProtyle, focus = true, pushBackSt } if (window.siyuan.config.fileTree.alwaysSelectOpenedFile && protyle) { const fileModel = getDockByType("file")?.data.file; - if (fileModel instanceof Files && !fileModel.isSelected(protyle.path)) { - fileModel.selectItem(protyle.notebookId, protyle.path); + if (fileModel instanceof Files) { + const target = fileModel.element.querySelector(`li[data-path="${protyle.path}"]`); + if (!target || (target && !target.classList.contains("b3-list-item--focus"))) { + fileModel.selectItem(protyle.notebookId, protyle.path); + } } } } diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index f0e13c590..393be5830 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -852,21 +852,6 @@ export class Files extends Model { liElement.insertAdjacentHTML("afterend", ``); this.setCurrent(this.element.querySelector(`ul[data-url="${data.box}"] li[data-path="${filePath}"]`)); } - /** - * 判断文件树中当前选中的是否是此文件 - * @param filePath 要判断的文件路径 - * @returns - */ - public isSelected(filePath: string): boolean { - if(!filePath) { - return false; - } - const target = this.element.querySelector(`li[data-path="${filePath}"]`); - if(target) { - return target.classList.contains("b3-list-item--focus"); - } - return false; - } private setCurrent(target: HTMLElement, isScroll = true) { if (!target) { diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index fc4218d79..6961403f5 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -432,7 +432,7 @@ export const globalShortcut = () => { ${updateHotkeyTip(window.siyuan.config.keymap.general[item.hotkeyLangId].custom)} `; }); - let range: Range + let range: Range; if (getSelection().rangeCount > 0) { range = getSelection().getRangeAt(0).cloneRange(); } @@ -450,7 +450,7 @@ export const globalShortcut = () => { transparent: true, destroyCallback: () => { if (range && range.getBoundingClientRect().height !== 0) { - focusByRange(range) + focusByRange(range); } } }); @@ -1260,7 +1260,7 @@ const panelTreeKeydown = (event: KeyboardEvent) => { if (nextElement.nextElementSibling.tagName === "UL") { if (nextElement.nextElementSibling.classList.contains("fn__none")) { // 遇到折叠内容 if (nextElement.nextElementSibling.nextElementSibling) { - nextElement = nextElement.nextElementSibling.nextElementSibling + nextElement = nextElement.nextElementSibling.nextElementSibling; } } else { nextElement = nextElement.nextElementSibling.firstElementChild;