From 7f3c34178b9ac801fac232bd4758ac3e25c55fb8 Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Fri, 5 Sep 2025 19:32:42 +0800 Subject: [PATCH] fix: add left-click check for tree button handlers --- apps/client/src/widgets/note_tree.ts | 29 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 248bf0a3a..2bbee7b36 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -219,21 +219,22 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { this.$tree = this.$widget.find(".tree"); this.$treeActions = this.$widget.find(".tree-actions"); - this.$tree.on("mousedown", ".unhoist-button", () => hoistedNoteService.unhoist()); - this.$tree.on("mousedown", ".refresh-search-button", (e) => this.refreshSearch(e)); - this.$tree.on("mousedown", ".add-note-button", (e) => { - const node = $.ui.fancytree.getNode(e as unknown as Event); - const parentNotePath = treeService.getNotePath(node); + this.$tree.on("mousedown", (e: JQuery.MouseDownEvent) => { + const target = e.target as HTMLElement; + if (e.button !== 0) return; - noteCreateService.createNote(parentNotePath, { - isProtected: node.data.isProtected - }); - }); - - this.$tree.on("mousedown", ".enter-workspace-button", (e) => { - const node = $.ui.fancytree.getNode(e as unknown as Event); - - this.triggerCommand("hoistNote", { noteId: node.data.noteId }); + if (target.classList.contains("unhoist-button")) { + hoistedNoteService.unhoist(); + } else if (target.classList.contains("refresh-search-button")) { + this.refreshSearch(e); + } else if (target.classList.contains("add-note-button")) { + const node = $.ui.fancytree.getNode(e as unknown as Event); + const parentNotePath = treeService.getNotePath(node); + noteCreateService.createNote(parentNotePath, { isProtected: node.data.isProtected }); + } else if (target.classList.contains("enter-workspace-button")) { + const node = $.ui.fancytree.getNode(e as unknown as Event); + this.triggerCommand("hoistNote", { noteId: node.data.noteId }); + } }); // fancytree doesn't support middle click, so this is a way to support it