This commit is contained in:
parent
3443891014
commit
5158805544
2 changed files with 12 additions and 4 deletions
|
@ -209,18 +209,25 @@ const processTable = (range: Range, html: string, protyle: IProtyle, blockElemen
|
|||
const scrollLeft = blockElement.firstElementChild.scrollLeft;
|
||||
const tableSelectElement = blockElement.querySelector(".table__select") as HTMLElement;
|
||||
let index = 0;
|
||||
const oldHTML = blockElement.outerHTML;
|
||||
blockElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
|
||||
const matchCellsElement: HTMLTableCellElement[] = []
|
||||
blockElement.querySelectorAll("th, td").forEach((item: HTMLTableCellElement) => {
|
||||
if (!item.classList.contains("fn__none") &&
|
||||
item.offsetLeft + 6 > tableSelectElement.offsetLeft + scrollLeft && item.offsetLeft + item.clientWidth - 6 < tableSelectElement.offsetLeft + scrollLeft + tableSelectElement.clientWidth &&
|
||||
item.offsetTop + 6 > tableSelectElement.offsetTop && item.offsetTop + item.clientHeight - 6 < tableSelectElement.offsetTop + tableSelectElement.clientHeight &&
|
||||
cellElements.length > index) {
|
||||
item.innerHTML = cellElements[index].innerHTML;
|
||||
matchCellsElement.push(item);
|
||||
index++;
|
||||
setLastNodeRange(item, range, false);
|
||||
}
|
||||
});
|
||||
tableSelectElement.removeAttribute("style");
|
||||
const oldHTML = blockElement.outerHTML;
|
||||
blockElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
|
||||
matchCellsElement.forEach((item, matchIndex) => {
|
||||
item.innerHTML = cellElements[matchIndex].innerHTML;
|
||||
if (matchIndex === matchCellsElement.length - 1) {
|
||||
setLastNodeRange(item, range, false);
|
||||
}
|
||||
})
|
||||
range.collapse(false);
|
||||
updateTransaction(protyle, blockElement.getAttribute("data-node-id"), blockElement.outerHTML, oldHTML);
|
||||
return true;
|
||||
|
|
|
@ -1467,6 +1467,7 @@ export class WYSIWYG {
|
|||
const scrollLeft = nodeElement.firstElementChild.scrollLeft;
|
||||
const tableSelectElement = nodeElement.querySelector(".table__select") as HTMLElement;
|
||||
html = "<table>";
|
||||
tableSelectElement.removeAttribute("style");
|
||||
const oldHTML = nodeElement.outerHTML;
|
||||
nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
|
||||
nodeElement.querySelectorAll("th, td").forEach((item: HTMLTableCellElement) => {
|
||||
|
|
Loading…
Add table
Reference in a new issue