Vanessa 2023-10-26 10:12:58 +08:00
parent 8306deb7e8
commit df0e6fe4db
2 changed files with 12 additions and 9 deletions

View File

@ -86,6 +86,10 @@
position: relative; position: relative;
font-size: 87.5%; font-size: 87.5%;
&.dragover__bottom, {
border-bottom-color: var(--b3-theme-primary-lighter);
}
&:hover { &:hover {
[data-type="block-ref"], [data-type="block-ref"],
[data-type="block-more"] { [data-type="block-more"] {

View File

@ -1046,14 +1046,13 @@ export const dropEvent = (protyle: IProtyle, editorElement: HTMLElement) => {
const nodeRect = targetElement.getBoundingClientRect(); const nodeRect = targetElement.getBoundingClientRect();
targetElement.classList.remove("protyle-wysiwyg--select", "dragover__top", "dragover__bottom", "dragover__left", "dragover__right"); targetElement.classList.remove("protyle-wysiwyg--select", "dragover__top", "dragover__bottom", "dragover__left", "dragover__right");
if (targetElement.getAttribute("data-type") === "NodeAttributeView" && hasClosestByTag(event.target, "TD")) { if (targetElement.getAttribute("data-type") === "NodeAttributeView" && hasClosestByTag(event.target, "TD")) {
targetElement.classList.add("protyle-wysiwyg--select");
return; return;
} }
if (targetElement.getAttribute("data-type") === "NodeListItem" || fileTreeIds.indexOf("-") > -1) { if (targetElement.getAttribute("data-type") === "NodeListItem" || fileTreeIds.indexOf("-") > -1) {
if (event.clientY > nodeRect.top + nodeRect.height / 2) { if (event.clientY > nodeRect.top + nodeRect.height / 2) {
targetElement.classList.add("dragover__bottom", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__bottom");
} else if (!targetElement.classList.contains("av__row--header")) { } else if (!targetElement.classList.contains("av__row--header")) {
targetElement.classList.add("dragover__top", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__top");
} }
return; return;
} }
@ -1061,24 +1060,24 @@ export const dropEvent = (protyle: IProtyle, editorElement: HTMLElement) => {
if (targetElement.classList.contains("av__cell")) { if (targetElement.classList.contains("av__cell")) {
if (event.clientX < nodeRect.left + nodeRect.width / 2 && event.clientX > nodeRect.left && if (event.clientX < nodeRect.left + nodeRect.width / 2 && event.clientX > nodeRect.left &&
!targetElement.classList.contains("av__row")) { !targetElement.classList.contains("av__row")) {
targetElement.classList.add("dragover__left", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__left");
} else if (event.clientX > nodeRect.right - nodeRect.width / 2 && event.clientX < nodeRect.right && } else if (event.clientX > nodeRect.right - nodeRect.width / 2 && event.clientX < nodeRect.right &&
!targetElement.classList.contains("av__row")) { !targetElement.classList.contains("av__row")) {
targetElement.classList.add("dragover__right", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__right");
} }
return; return;
} }
if (event.clientX < nodeRect.left + 32 && event.clientX > nodeRect.left && if (event.clientX < nodeRect.left + 32 && event.clientX > nodeRect.left &&
!targetElement.classList.contains("av__row")) { !targetElement.classList.contains("av__row")) {
targetElement.classList.add("dragover__left", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__left");
} else if (event.clientX > nodeRect.right - 32 && event.clientX < nodeRect.right && } else if (event.clientX > nodeRect.right - 32 && event.clientX < nodeRect.right &&
!targetElement.classList.contains("av__row")) { !targetElement.classList.contains("av__row")) {
targetElement.classList.add("dragover__right", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__right");
} else { } else {
if (event.clientY > nodeRect.top + nodeRect.height / 2 && disabledPosition !== "bottom") { if (event.clientY > nodeRect.top + nodeRect.height / 2 && disabledPosition !== "bottom") {
targetElement.classList.add("dragover__bottom", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__bottom");
} else if (disabledPosition !== "top") { } else if (disabledPosition !== "top") {
targetElement.classList.add("dragover__top", "protyle-wysiwyg--select"); targetElement.classList.add("dragover__top");
} }
} }
return; return;