Vanessa 2023-02-21 18:57:50 +08:00
parent 014b2eab8d
commit 853d7f8d48

View file

@ -348,8 +348,15 @@ export class Files extends Model {
return;
}
liElement.classList.remove("dragover__top", "dragover__bottom", "dragover");
if (window.siyuan.dragElement?.parentElement?.classList.contains("protyle-gutters")) {
if (["NodeListItem", "NodeHeading"].includes(window.siyuan.dragElement.getAttribute("data-type"))) {
let gutterType = "";
for (const item of event.dataTransfer.items) {
if (item.type.startsWith(Constants.SIYUAN_DROP_GUTTER)) {
gutterType = item.type;
}
}
if (gutterType) {
const gutterTypes = gutterType.replace(Constants.SIYUAN_DROP_GUTTER, "").split(Constants.ZWSP);
if (["nodelistitem", "nodeheading"].includes(gutterTypes[0])) {
// 块标拖拽
liElement.classList.add("dragover");
}
@ -416,23 +423,31 @@ export class Files extends Model {
}
const toURL = newUlElement.getAttribute("data-url");
const toPath = newElement.getAttribute("data-path");
const gutterType = window.siyuan.dragElement?.getAttribute("data-type");
if (newElement.classList.contains("dragover") && ["NodeListItem", "NodeHeading"].includes(gutterType)) {
// 块标拖拽
if (gutterType === "NodeHeading") {
fetchPost("/api/filetree/heading2Doc", {
targetNoteBook: toURL,
srcHeadingID: window.siyuan.dragElement.getAttribute("data-node-id"),
targetPath: toPath,
pushMode: 0,
});
} else {
fetchPost("/api/filetree/li2Doc", {
pushMode: 0,
srcListItemID: window.siyuan.dragElement.getAttribute("data-node-id"),
targetNoteBook: toURL,
targetPath: toPath
});
let gutterType = "";
for (const item of event.dataTransfer.items) {
if (item.type.startsWith(Constants.SIYUAN_DROP_GUTTER)) {
gutterType = item.type;
}
}
if (gutterType && newElement.classList.contains("dragover")) {
const gutterTypes = gutterType.replace(Constants.SIYUAN_DROP_GUTTER, "").split(Constants.ZWSP)
if (["nodelistitem", "nodeheading"].includes(gutterTypes[0])) {
// 块标拖拽
if (gutterType === "nodeheading") {
fetchPost("/api/filetree/heading2Doc", {
targetNoteBook: toURL,
srcHeadingID: gutterTypes[2].split(",")[0],
targetPath: toPath,
pushMode: 0,
});
} else {
fetchPost("/api/filetree/li2Doc", {
pushMode: 0,
srcListItemID: gutterTypes[2].split(",")[0],
targetNoteBook: toURL,
targetPath: toPath
});
}
}
newElement.classList.remove("dragover", "dragover__bottom", "dragover__top");
window.siyuan.dragElement = undefined;