From 5f990edd2e882054e272f11cab63a3dd8c596cbe Mon Sep 17 00:00:00 2001 From: inter Date: Mon, 8 Sep 2025 16:35:27 +0800 Subject: [PATCH] Add File --- g2-ssr/charts/utils.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 g2-ssr/charts/utils.js diff --git a/g2-ssr/charts/utils.js b/g2-ssr/charts/utils.js new file mode 100644 index 0000000..5cea935 --- /dev/null +++ b/g2-ssr/charts/utils.js @@ -0,0 +1,37 @@ +const {filter, endsWith, replace} = require("lodash"); + +function checkIsPercent(valueAxis, data) { + const result = { + isPercent: false, + data: [], + } + + const notEmptyData = filter( + data, + (d) => + d && + d[valueAxis.value] !== null && + d[valueAxis.value] !== undefined && + d[valueAxis.value] !== 0 && + d[valueAxis.value] !== '0' + ) + if (notEmptyData.length > 0) { + const v = notEmptyData[0][valueAxis.value] + '' + if (endsWith(v.trim(), '%')) { + result.isPercent = true + } + } + for (let i = 0; i < data.length; i++) { + const v = data[i] + const _v = {...v} + if (result.isPercent) { + const formatValue = replace(v[valueAxis.value], '%', '') + _v[valueAxis.value] = Number(formatValue) + } + result.data.push(_v) + } + + return result +} + +module.exports = {checkIsPercent} \ No newline at end of file