mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-06 16:58:49 +01:00
This commit is contained in:
parent
1b41f30bbd
commit
58e9a7db87
1 changed files with 24 additions and 7 deletions
|
|
@ -62,15 +62,30 @@ export class Gutter {
|
|||
this.element.addEventListener("dragstart", (event: DragEvent & { target: HTMLElement }) => {
|
||||
hideTooltip();
|
||||
const buttonElement = event.target.parentElement;
|
||||
let selectIds: string[] = [buttonElement.getAttribute("data-node-id")];
|
||||
let selectElements = Array.from(protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));
|
||||
if (selectElements.length > 0) {
|
||||
selectIds = [];
|
||||
selectElements.forEach(item => {
|
||||
selectIds.push(item.getAttribute("data-node-id"));
|
||||
let selectIds: string[] = []
|
||||
let selectElements: Element[] = []
|
||||
if (buttonElement.dataset.rowId) {
|
||||
const avElement = Array.from(protyle.wysiwyg.element.querySelectorAll(`.av[data-node-id="${buttonElement.dataset.nodeId}"]`)).find((item: HTMLElement) => {
|
||||
if (!hasClosestByAttribute(item, "data-type", "NodeBlockQueryEmbed")) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
avElement.querySelector(`.av__row[data-id="${buttonElement.dataset.rowId}"]`).classList.add("av__row--select");
|
||||
avElement.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(item => {
|
||||
selectIds.push(item.getAttribute("data-id"));
|
||||
selectElements.push(item);
|
||||
})
|
||||
} else {
|
||||
selectElements = [protyle.wysiwyg.element.querySelector(`[data-node-id="${selectIds[0]}"]`)];
|
||||
selectIds = [buttonElement.getAttribute("data-node-id")];
|
||||
selectElements = Array.from(protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));
|
||||
if (selectElements.length > 0) {
|
||||
selectIds = [];
|
||||
selectElements.forEach(item => {
|
||||
selectIds.push(item.getAttribute("data-node-id"));
|
||||
});
|
||||
} else {
|
||||
selectElements = [protyle.wysiwyg.element.querySelector(`[data-node-id="${selectIds[0]}"]`)];
|
||||
}
|
||||
}
|
||||
|
||||
const ghostElement = document.createElement("div");
|
||||
|
|
@ -110,6 +125,7 @@ export class Gutter {
|
|||
}
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
hideTooltip();
|
||||
const id = buttonElement.getAttribute("data-node-id");
|
||||
if (!id) {
|
||||
if (buttonElement.getAttribute("disabled")) {
|
||||
|
|
@ -301,6 +317,7 @@ export class Gutter {
|
|||
return;
|
||||
}
|
||||
if (!window.siyuan.ctrlIsPressed && !window.siyuan.altIsPressed && !window.siyuan.shiftIsPressed) {
|
||||
hideTooltip();
|
||||
const gutterRect = buttonElement.getBoundingClientRect();
|
||||
if (buttonElement.dataset.type === "NodeAttributeViewRowMenu") {
|
||||
const rowElement = Array.from(protyle.wysiwyg.element.querySelectorAll(`.av[data-node-id="${buttonElement.dataset.nodeId}"] .av__row[data-id="${buttonElement.dataset.rowId}"]`)).find((item: HTMLElement) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue