This commit is contained in:
Vanessa 2023-10-26 12:10:43 +08:00
parent cc1f8fa15a
commit e3c610aa3b

View file

@ -421,7 +421,11 @@ export class Files extends Model {
if (window.siyuan.config.readonly) { if (window.siyuan.config.readonly) {
return; return;
} }
const liElement = hasClosestByTag(event.target, "LI"); let liElement = hasClosestByTag(event.target, "LI");
if (!liElement) {
liElement = document.elementFromPoint(event.clientX, event.clientY - 1) as HTMLElement;
liElement = hasClosestByTag(liElement, "LI");
}
if (!liElement || !window.siyuan.dragElement) { if (!liElement || !window.siyuan.dragElement) {
event.preventDefault(); event.preventDefault();
return; return;
@ -485,11 +489,10 @@ export class Files extends Model {
liElement.classList.add("dragover"); liElement.classList.add("dragover");
event.preventDefault(); event.preventDefault();
}); });
this.element.addEventListener("dragleave", (event: DragEvent & { target: HTMLElement }) => { this.element.addEventListener("dragleave", () => {
const liElement = hasClosestByTag(event.target, "LI"); this.element.querySelectorAll(".dragover, .dragover__bottom, .dragover__top").forEach((item: HTMLElement) => {
if (liElement) { item.classList.remove("dragover", "dragover__bottom", "dragover__top");
liElement.classList.remove("dragover", "dragover__bottom", "dragover__top"); });
}
}); });
this.element.addEventListener("drop", async (event: DragEvent & { target: HTMLElement }) => { this.element.addEventListener("drop", async (event: DragEvent & { target: HTMLElement }) => {
const newElement = hasClosestByTag(event.target, "LI"); const newElement = hasClosestByTag(event.target, "LI");