From e5867b0c2e72782c417aa3cc7451cd0570340f78 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 5 Feb 2025 10:57:43 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/pull/13999 --- app/src/layout/dock/Files.ts | 7 ++++--- app/src/layout/dock/Outline.ts | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 782e9b722..a9dc61af6 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -518,16 +518,17 @@ export class Files extends Model { ) && // 防止文档拖拽到笔记本外 !(!sourceOnlyRoot && targetType === "navigation-root")) { - const nodeRect = (liElement as HTMLElement).getBoundingClientRect(); + const nodeRect = liElement.getBoundingClientRect(); + const dragHeight = nodeRect.height * .36; if (targetType === "navigation-root" && sourceOnlyRoot) { if (event.clientY > nodeRect.top + nodeRect.height / 2) { (liElement as HTMLElement).classList.add("dragover__bottom"); } else { (liElement as HTMLElement).classList.add("dragover__top"); } - } else if (event.clientY > nodeRect.top + nodeRect.height * 3 / 4) { + } else if (event.clientY > nodeRect.bottom - dragHeight) { (liElement as HTMLElement).classList.add("dragover__bottom"); - } else if (event.clientY < nodeRect.bottom - nodeRect.height * 3 / 4) { + } else if (event.clientY < nodeRect.top + dragHeight) { (liElement as HTMLElement).classList.add("dragover__top"); } event.preventDefault(); diff --git a/app/src/layout/dock/Outline.ts b/app/src/layout/dock/Outline.ts index 95c713366..77ae5045a 100644 --- a/app/src/layout/dock/Outline.ts +++ b/app/src/layout/dock/Outline.ts @@ -274,9 +274,10 @@ export class Outline extends Model { return; } const selectRect = selectItem.getBoundingClientRect(); - if (moveEvent.clientY > selectRect.top + selectRect.height * 3 / 4) { + const dragHeight = selectRect.height * .36; + if (moveEvent.clientY > selectRect.bottom - dragHeight) { selectItem.classList.add("dragover__bottom"); - } else if (moveEvent.clientY < selectRect.bottom - selectRect.height * 3 / 4) { + } else if (moveEvent.clientY < selectRect.top + dragHeight) { selectItem.classList.add("dragover__top"); } else { selectItem.classList.add("dragover");