diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index e189c51f3..22007aee8 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -421,6 +421,13 @@ export class Files extends Model { if (window.siyuan.config.readonly) { return; } + const contentRect = this.element.getBoundingClientRect(); + if (event.clientY < contentRect.top + Constants.SIZE_SCROLL_TB || event.clientY > contentRect.bottom - Constants.SIZE_SCROLL_TB) { + this.element.scroll({ + top: this.element.scrollTop + (event.clientY < contentRect.top + Constants.SIZE_SCROLL_TB ? -Constants.SIZE_SCROLL_STEP : Constants.SIZE_SCROLL_STEP), + behavior: "smooth" + }); + } let liElement = hasClosestByTag(event.target, "LI"); if (!liElement) { liElement = hasClosestByTag(document.elementFromPoint(event.clientX, event.clientY - 1), "LI");