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(() => {