From ebe130a0298a43adc1cc99757fe78204cdef7abd Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 7 Jul 2023 23:15:36 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/8664 --- app/src/protyle/render/av/cell.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 9c4910c57..3ab8b3783 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -5,8 +5,11 @@ export const popTextCell = (protyle: IProtyle, cellElement: HTMLElement) => { const type = cellElement.parentElement.parentElement.firstElementChild.children[parseInt(cellElement.getAttribute("data-index")) + 1].getAttribute("data-dtype") as TAVCol; const cellRect = cellElement.getBoundingClientRect(); let html = ""; + const style = `style="position:absolute;left: ${cellRect.left}px;top: ${cellRect.top}px;width:${Math.max(cellRect.width, 200)}px;height: ${cellRect.height}px"` if (type === "block" || type === "text") { - html = ``; + html = ``; + } else if (type === "number") { + html = ``; } document.body.insertAdjacentHTML("beforeend", `
${html} @@ -47,17 +50,22 @@ const updateCellValue = (protyle: IProtyle, cellElement: HTMLElement, type: TAVC return; } const avMaskElement = document.querySelector(".av__mask"); - const inputElement = avMaskElement.querySelector(".b3-text-field") as HTMLInputElement; const cellId = cellElement.getAttribute("data-id"); const avId = blockElement.getAttribute("data-av-id"); const rowId = rowElement.getAttribute("data-id"); + let inputValue: string | number = (avMaskElement.querySelector(".b3-text-field") as HTMLInputElement).value + let oldValue: string | number = cellElement.textContent.trim() + if (type === "number") { + inputValue = parseFloat(inputValue); + oldValue = parseFloat(oldValue); + } transaction(protyle, [{ action: "updateAttrViewCell", id: cellId, rowID: rowId, parentID: avId, data: { - [type]: {content: inputElement.value} + [type]: {content: inputValue} } }], [{ action: "updateAttrViewCell", @@ -65,7 +73,7 @@ const updateCellValue = (protyle: IProtyle, cellElement: HTMLElement, type: TAVC rowID: rowId, parentID: avId, data: { - [type]: {content: cellElement.textContent.trim()} + [type]: {content: oldValue} } }]); setTimeout(() => {