diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index b5af3a3a3..7d4d79c99 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -191,7 +191,7 @@ export class Files extends Model { if (ulElement) { const notebookId = ulElement.getAttribute("data-url"); while (target && !target.isEqualNode(this.element)) { - if (target.classList.contains("b3-list-item__icon") && window.siyuan.config.system.container !== "ios") { + if (!event.metaKey && !event.ctrlKey && target.classList.contains("b3-list-item__icon") && window.siyuan.config.system.container !== "ios") { event.preventDefault(); event.stopPropagation(); if (target.parentElement.getAttribute("data-type") === "navigation-file") { @@ -200,14 +200,14 @@ export class Files extends Model { openEmojiPanel(target.parentElement.parentElement.getAttribute("data-url"), target, true); } break; - } else if (target.classList.contains("b3-list-item__toggle")) { + } else if (!event.metaKey && !event.ctrlKey && target.classList.contains("b3-list-item__toggle")) { this.getLeaf(target.parentElement, notebookId); this.setCurrent(target.parentElement); event.preventDefault(); event.stopPropagation(); window.siyuan.menus.menu.remove(); break; - } else if (target.classList.contains("b3-list-item__action")) { + } else if (!event.metaKey && !event.ctrlKey && target.classList.contains("b3-list-item__action")) { const type = target.getAttribute("data-type"); const pathString = target.parentElement.getAttribute("data-path"); if (!window.siyuan.config.readonly) { @@ -230,7 +230,7 @@ export class Files extends Model { if (event.detail === 1) { needFocus = false; clickTimeout = window.setTimeout(() => { - if (!window.siyuan.ctrlIsPressed) { + if (!event.metaKey && !event.ctrlKey) { this.setCurrent(target, false); if (target.getAttribute("data-type") === "navigation-file") { if (window.siyuan.altIsPressed) { @@ -254,7 +254,7 @@ export class Files extends Model { target.classList.toggle("b3-list-item--focus"); } }, Constants.TIMEOUT_DBLCLICK); - } else if (event.detail === 2) { + } else if (!event.metaKey && !event.ctrlKey && event.detail === 2) { clearTimeout(clickTimeout); this.getLeaf(target, notebookId); this.setCurrent(target, false); diff --git a/app/src/menus/navigation.ts b/app/src/menus/navigation.ts index 2e874435f..de630be98 100644 --- a/app/src/menus/navigation.ts +++ b/app/src/menus/navigation.ts @@ -26,15 +26,16 @@ import {hasClosestByClassName} from "../protyle/util/hasClosest"; import {deleteFile, deleteFiles} from "../editor/deleteFile"; export const initNavigationMenu = (liElement: HTMLElement) => { + const fileElement = hasClosestByClassName(liElement, "sy__file") + if (!fileElement) { + return; + } if (!liElement.classList.contains("b3-list-item--focus")) { - const fileElement = hasClosestByClassName(liElement, "sy__file") - if (fileElement) { - fileElement.querySelectorAll(".b3-list-item--focus").forEach(item => { - item.classList.remove("b3-list-item--focus"); - item.removeAttribute("select-end") - item.removeAttribute("select-start") - }) - } + fileElement.querySelectorAll(".b3-list-item--focus").forEach(item => { + item.classList.remove("b3-list-item--focus"); + item.removeAttribute("select-end") + item.removeAttribute("select-start") + }) liElement.classList.add("b3-list-item--focus"); } const notebookId = liElement.parentElement.getAttribute("data-url"); @@ -92,13 +93,7 @@ export const initNavigationMenu = (liElement: HTMLElement) => { label: window.siyuan.languages.delete, accelerator: "⌦", click: () => { - confirmDialog(window.siyuan.languages.deleteOpConfirm, - `${window.siyuan.languages.confirmDelete} ${Lute.EscapeHTMLStr(name)}?`, () => { - fetchPost("/api/notebook/removeNotebook", { - notebook: notebookId, - callback: Constants.CB_MOUNT_REMOVE - }); - }); + deleteFiles(Array.from(fileElement.querySelectorAll(".b3-list-item--focus"))) } }).element); }