mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-21 19:41:05 +08:00
This commit is contained in:
parent
ecc0b3aafb
commit
896a19ae4f
@ -181,7 +181,7 @@ export class Wnd {
|
|||||||
let oldTabHeaderElement = window.siyuan.dragElement;
|
let oldTabHeaderElement = window.siyuan.dragElement;
|
||||||
let exitDrag = false;
|
let exitDrag = false;
|
||||||
Array.from(it.firstElementChild.childNodes).find((item: HTMLElement) => {
|
Array.from(it.firstElementChild.childNodes).find((item: HTMLElement) => {
|
||||||
if (item.style.opacity === "0.1") {
|
if (item.style?.opacity === "0.1") {
|
||||||
oldTabHeaderElement = item;
|
oldTabHeaderElement = item;
|
||||||
exitDrag = true;
|
exitDrag = true;
|
||||||
return true;
|
return true;
|
||||||
@ -222,12 +222,14 @@ export class Wnd {
|
|||||||
});
|
});
|
||||||
let dragleaveTimeout: number;
|
let dragleaveTimeout: number;
|
||||||
let headerDragCounter = 0;
|
let headerDragCounter = 0;
|
||||||
this.headersElement.parentElement.addEventListener("dragleave", (event)=> {
|
this.headersElement.parentElement.addEventListener("dragleave", function () {
|
||||||
if (!hasClosestByAttribute(event.target as HTMLElement, "data-clone", "true")) {
|
if (!hasClosestByAttribute(event.target as HTMLElement, "data-clone", "true")) {
|
||||||
headerDragCounter--;
|
headerDragCounter--;
|
||||||
}
|
}
|
||||||
if (headerDragCounter === 0) {
|
if (headerDragCounter === 0) {
|
||||||
this.headersElement.parentElement.classList.remove("layout-tab-bars--drag");
|
document.querySelectorAll(".layout-tab-bars--drag").forEach(item => {
|
||||||
|
item.classList.remove("layout-tab-bars--drag");
|
||||||
|
})
|
||||||
clearTimeout(dragleaveTimeout);
|
clearTimeout(dragleaveTimeout);
|
||||||
// 窗口拖拽到新窗口时,不 drop 无法移除 clone 的元素
|
// 窗口拖拽到新窗口时,不 drop 无法移除 clone 的元素
|
||||||
dragleaveTimeout = window.setTimeout(() => {
|
dragleaveTimeout = window.setTimeout(() => {
|
||||||
@ -248,12 +250,14 @@ export class Wnd {
|
|||||||
this.headersElement.parentElement.classList.remove("layout-tab-bars--drag");
|
this.headersElement.parentElement.classList.remove("layout-tab-bars--drag");
|
||||||
});
|
});
|
||||||
|
|
||||||
this.headersElement.parentElement.addEventListener("drop", (event: DragEvent & {
|
this.headersElement.parentElement.addEventListener("drop", function (event: DragEvent & {
|
||||||
target: HTMLElement
|
target: HTMLElement
|
||||||
})=> {
|
}) {
|
||||||
this.headersElement.parentElement.classList.remove("layout-tab-bars--drag");
|
document.querySelectorAll(".layout-tab-bars--drag").forEach(item => {
|
||||||
|
item.classList.remove("layout-tab-bars--drag");
|
||||||
|
})
|
||||||
headerDragCounter = 0;
|
headerDragCounter = 0;
|
||||||
const it = this.headersElement;
|
const it = this as HTMLElement;
|
||||||
if (event.dataTransfer.types.includes(Constants.SIYUAN_DROP_FILE)) {
|
if (event.dataTransfer.types.includes(Constants.SIYUAN_DROP_FILE)) {
|
||||||
// 文档树拖拽
|
// 文档树拖拽
|
||||||
setPanelFocus(it.parentElement);
|
setPanelFocus(it.parentElement);
|
||||||
@ -289,7 +293,7 @@ export class Wnd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const nextTabHeaderElement = (Array.from(it.firstElementChild.childNodes).find((item: HTMLElement) => {
|
const nextTabHeaderElement = (Array.from(it.firstElementChild.childNodes).find((item: HTMLElement) => {
|
||||||
if (item.style.opacity === "0.1") {
|
if (item.style?.opacity === "0.1") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}) as HTMLElement)?.nextElementSibling;
|
}) as HTMLElement)?.nextElementSibling;
|
||||||
|
Loading…
Reference in New Issue
Block a user