diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index f03137529..818798c3e 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,5 @@ { + "format": "Number format", "numberFormatNone": "Number", "numberFormatCommas": "Number with commas", "numberFormatPercent": "Percent", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index eda895658..34cb88c21 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1,4 +1,5 @@ { + "format": "Formato de número", "numberFormatNone": "Número", "numberFormatCommas": "Número con comas", "numberFormatPercent": "Porcentaje", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 55f53435b..41255c4a0 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,5 @@ { + "format": "Format des nombres", "numberFormatNone": "Numéro", "numberFormatCommas": "Nombre avec des virgules", "numberFormatPercent": "Pourcentage", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 176f9e2d8..2b98db1f1 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,5 @@ { + "format": "格式化", "numberFormatNone": "數字", "numberFormatCommas": "千分位", "numberFormatPercent": "百分比", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 0d60afbc7..65f050aec 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,5 @@ { + "format": "格式化", "numberFormatNone": "数字", "numberFormatCommas": "千分位", "numberFormatPercent": "百分比", diff --git a/app/src/assets/scss/business/_av.scss b/app/src/assets/scss/business/_av.scss index 2f5058dbe..a6cf98dc1 100644 --- a/app/src/assets/scss/business/_av.scss +++ b/app/src/assets/scss/business/_av.scss @@ -219,6 +219,18 @@ &--url { text-decoration: underline var(--b3-border-color); } + + &--date { + display: flex; + align-items: center; + + svg { + margin: 0 5px; + height: 10px; + width: 10px; + flex-shrink: 0; + } + } } &__firstcol { diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 81bec4307..ed5bd7c53 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -351,7 +351,7 @@ export const popTextCell = (protyle: IProtyle, cellElements: HTMLElement[]) => { if (["text", "url", "email", "phone"].includes(type)) { html = ``; } else if (type === "number") { - html = ``; + html = ``; } else if (["select", "mSelect"].includes(type) && blockElement) { openMenuPanel({protyle, blockElement, type: "select", cellElements}); return; diff --git a/app/src/protyle/render/av/col.ts b/app/src/protyle/render/av/col.ts index b4862fec8..c917aa94d 100644 --- a/app/src/protyle/render/av/col.ts +++ b/app/src/protyle/render/av/col.ts @@ -115,6 +115,14 @@ export const getEditHTML = (options: { `; }); } + if (colData.type === "number") { + html += ` +`; + } return `
${html} diff --git a/app/src/protyle/render/av/openMenuPanel.ts b/app/src/protyle/render/av/openMenuPanel.ts index 3a95bd385..4e84d4ee0 100644 --- a/app/src/protyle/render/av/openMenuPanel.ts +++ b/app/src/protyle/render/av/openMenuPanel.ts @@ -427,6 +427,11 @@ export const openMenuPanel = (options: { return true; } }); + event.preventDefault(); + event.stopPropagation(); + break; + } else if (type === "numberFormat") { + event.preventDefault(); event.stopPropagation(); break; diff --git a/app/src/protyle/render/av/render.ts b/app/src/protyle/render/av/render.ts index 2b2602fd4..941eeece3 100644 --- a/app/src/protyle/render/av/render.ts +++ b/app/src/protyle/render/av/render.ts @@ -79,7 +79,7 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '${window.siyuan.languages.openBy}`; } } else if (cell.valueType === "number") { - text = `${cell.value?.number.content || ""}`; + text = `${cell.value?.number.formattedContent || ""}`; } else if (cell.valueType === "mSelect" || cell.valueType === "select") { cell.value?.mSelect?.forEach((item: { content: string, color: string }) => { text += `${item.content}`; @@ -90,12 +90,12 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '${text}`; } } else if (cell.valueType === "date") { - text = ''; + text = ''; if (cell.value?.date.isNotEmpty) { text += dayjs(cell.value.date.content).format("YYYY-MM-DD HH:mm"); } if (cell.value?.date.hasEndDate && cell.value?.date.isNotEmpty && cell.value?.date.isNotEmpty2) { - text += `${dayjs(cell.value.date.content2).format("YYYY-MM-DD HH:mm")}`; + text += `${dayjs(cell.value.date.content2).format("YYYY-MM-DD HH:mm")}`; } text += ""; } @@ -104,6 +104,7 @@ ${cell.valueType === "block" ? 'data-block-id="' + (cell.value.block.id || "") + style="width: ${data.columns[index].width || "200px"}; ${cell.bgColor ? `background-color:${cell.bgColor};` : ""} ${data.columns[index].wrap ? "" : "white-space: nowrap;"} +${cell.valueType !== "number" ? "" : "flex-direction: row-reverse;"} ${cell.color ? `color:${cell.color};` : ""}">${text}
`; }); tableHTML += "
"; diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 6c5508234..11b49c3f8 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -912,6 +912,7 @@ interface IAVColumn { wrap: boolean, hidden: boolean, type: TAVCol, + numberFormat: string, calc: { operator: string, result: IAVCellValue