This commit is contained in:
Vanessa 2023-11-14 23:18:18 +08:00
parent 6a4ed3c92b
commit aac7fa8101
14 changed files with 37 additions and 37 deletions

View file

@ -39,7 +39,7 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
const copyElement = hasClosestByAttribute(event.target, "data-type", "copy");
if (copyElement) {
const textElement = copyElement.previousElementSibling
const textElement = copyElement.previousElementSibling;
if (textElement.querySelector(".av__cellicon")) {
writeText(`${textElement.firstChild.textContent}${textElement.lastChild.textContent}`);
} else {
@ -72,7 +72,7 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
if (gutterElement && gutterElement.parentElement.classList.contains("av__gutters")) {
const rowElement = hasClosestByClassName(gutterElement, "av__row");
if (!rowElement) {
return
return;
}
if (gutterElement.dataset.action === "add") {
const avID = blockElement.getAttribute("data-av-id");
@ -204,9 +204,9 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
const cellElement = hasClosestByClassName(event.target, "av__cell");
if (cellElement && !hasClosestByClassName(cellElement, "av__row--header")) {
const scrollElement = hasClosestByClassName(cellElement, "av__scroll")
const scrollElement = hasClosestByClassName(cellElement, "av__scroll");
if (!scrollElement) {
return
return;
}
const rowElement = hasClosestByClassName(cellElement, "av__row");
if (!rowElement) {

View file

@ -363,7 +363,7 @@ export const cellScrollIntoView = (blockElement: HTMLElement, cellElement: Eleme
if (rowElement) {
const stickyElement = rowElement.querySelector(".av__colsticky");
if (stickyElement) {
const stickyRight = stickyElement.getBoundingClientRect().right
const stickyRight = stickyElement.getBoundingClientRect().right;
if (stickyRight > cellRect.left) {
avScrollElement.scrollLeft = avScrollElement.scrollLeft + cellRect.left - stickyRight;
}
@ -396,16 +396,16 @@ export const cellScrollIntoView = (blockElement: HTMLElement, cellElement: Eleme
};
export const getTypeByCellElement = (cellElement: Element) => {
const scrollElement = hasClosestByClassName(cellElement, "av__scroll")
const scrollElement = hasClosestByClassName(cellElement, "av__scroll");
if (!scrollElement) {
return;
}
return scrollElement.querySelector(".av__row--header").querySelector(`[data-col-id="${cellElement.getAttribute("data-col-id")}"]`).getAttribute("data-dtype") as TAVCol;
}
};
export const popTextCell = (protyle: IProtyle, cellElements: HTMLElement[], type?: TAVCol) => {
if (!type) {
type = getTypeByCellElement(cellElements[0])
type = getTypeByCellElement(cellElements[0]);
}
if (type === "updated" || type === "created") {
return;

View file

@ -578,7 +578,7 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
}
});
}
const isPin = cellElement.dataset.pin === "true"
const isPin = cellElement.dataset.pin === "true";
menu.addItem({
icon: "iconPin",
label: isPin ? window.siyuan.languages.unfreezeCol : window.siyuan.languages.freezeCol,

View file

@ -43,7 +43,7 @@ export const avKeydown = (event: KeyboardEvent, nodeElement: HTMLElement, protyl
newCellElement = selectCellElement.previousElementSibling.lastElementChild;
}
} else if (previousRowElement && !previousRowElement.classList.contains("av__row--header")) {
const previousCellElements = previousRowElement.querySelectorAll(".av__cell")
const previousCellElements = previousRowElement.querySelectorAll(".av__cell");
newCellElement = previousCellElements[previousCellElements.length - 1];
}
if (newCellElement) {

View file

@ -69,11 +69,11 @@ export const avRender = (element: Element, protyle: IProtyle, cb?: () => void) =
pinMaxIndex = index;
}
}
})
});
pinIndex = Math.min(pinIndex, pinMaxIndex);
if (pinIndex > -1) {
tableHTML = '<div class="av__row av__row--header"><div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>'
calcHTML = '<div class="av__colsticky"><div style="width: 24px"></div>'
tableHTML = '<div class="av__row av__row--header"><div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>';
calcHTML = '<div class="av__colsticky"><div style="width: 24px"></div>';
}
data.columns.forEach((column: IAVColumn, index: number) => {
if (column.hidden) {
@ -90,12 +90,12 @@ ${column.wrap ? "" : "white-space: nowrap;"}">
<div class="av__widthdrag"></div>
</div>`;
if (pinIndex === index) {
tableHTML += '</div>'
tableHTML += "</div>";
}
calcHTML += `<div class="av__calc${calcHTML ? "" : " av__calc--show"}${column.calc && column.calc.operator !== "" ? " av__calc--ashow" : ""}" data-col-id="${column.id}" data-dtype="${column.type}" data-operator="${column.calc?.operator || ""}"
style="width: ${column.width || "200px"}">${getCalcValue(column) || '<svg><use xlink:href="#iconDown"></use></svg>' + window.siyuan.languages.calc}</div>`;
if (pinIndex === index) {
calcHTML += '</div>'
calcHTML += "</div>";
}
});
tableHTML += `<div class="block__icons" style="min-height: auto">
@ -112,9 +112,9 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '<svg><use x
<button class="ariaLabel" draggable="true" data-position="right" aria-label="${window.siyuan.languages.rowTip}"><svg><use xlink:href="#iconDrag"></use></svg></button>
</div>`;
if (pinIndex > -1) {
tableHTML += '<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>'
tableHTML += '<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>';
} else {
tableHTML += `<div class="av__firstcol av__colsticky"><svg><use xlink:href="#iconUncheck"></use></svg></div>`
tableHTML += "<div class=\"av__firstcol av__colsticky\"><svg><use xlink:href=\"#iconUncheck\"></use></svg></div>";
}
row.cells.forEach((cell, index) => {
@ -194,7 +194,7 @@ ${cell.valueType !== "number" ? "" : "flex-direction: row-reverse;"}
${cell.color ? `color:${cell.color};` : ""}">${text}</div>`;
if (pinIndex === index) {
tableHTML += '</div>'
tableHTML += "</div>";
}
});
tableHTML += "<div></div></div>";

View file

@ -4,7 +4,7 @@ import {focusBlock} from "../../util/selection";
export const selectRow = (checkElement: Element, type: "toggle" | "select" | "unselect" | "unselectAll") => {
const rowElement = hasClosestByClassName(checkElement, "av__row");
if (!rowElement) {
return
return;
}
const useElement = checkElement.querySelector("use");
if (rowElement.classList.contains("av__row--header") || type === "unselectAll") {
@ -72,12 +72,12 @@ export const insertAttrViewBlockAnimation = (blockElement: Element, size: number
let colHTML = '<div style="width: 24px"></div>';
const pinIndex = previousElement.querySelectorAll(".av__colsticky .av__cell").length - 1;
if (pinIndex > -1) {
colHTML = `<div class="av__colsticky"><div style="width: 24px"></div>`;
colHTML = "<div class=\"av__colsticky\"><div style=\"width: 24px\"></div>";
}
previousElement.querySelectorAll(".av__cell").forEach((item: HTMLElement, index) => {
colHTML += `<div class="av__cell" style="width: ${item.style.width}" ${(item.getAttribute("data-block-id") || item.dataset.dtype === "block") ? ' data-detached="true"' : ""}><span class="av__pulse"></span></div>`;
if (pinIndex === index) {
colHTML += `</div>`;
colHTML += "</div>";
}
});