UNPKG

@visactor/vmind

Version:

<div align="center"> <a href="https://github.com/VisActor#gh-light-mode-only" target="_blank"> <img alt="VisActor Logo" width="200" src="https://github.com/VisActor/.github/blob/main/profile/logo_500_200_light.svg"/> </a> <a href="https://githu

66 lines (52 loc) 3.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.sumDimensionValues = exports.isPercenSeries = exports.isStackSeries = exports.isPercentChart = exports.isStackChart = exports.isStackChartInAxes = void 0; const vutils_1 = require("@visactor/vutils"), types_1 = require("../../types"), isStackChartInAxes = (series, chartType) => !(chartType !== types_1.ChartType.DualAxisChart || !series.length) && series.every((s => { var _a; return (null == s ? void 0 : s.type) === (null === (_a = series[0]) || void 0 === _a ? void 0 : _a.type) && (!1 !== s.stack && "bar" === s.type || !!s.stack) && (null == s ? void 0 : s.seriesField) && !((0, vutils_1.isArray)(s.xField) && s.xField.includes(s.seriesField)); })); exports.isStackChartInAxes = isStackChartInAxes; const isStackChart = (spec, chartType, cell) => { const {seriesField: seriesField, type: type, series: series = [], stack: stack} = spec || {}; return "common" === type && [ types_1.ChartType.BarChart, types_1.ChartType.AreaChart, types_1.ChartType.LineChart ].includes(chartType) ? null == series ? void 0 : series.every((s => !((!1 === (null == s ? void 0 : s.stack) || "bar" !== s.type) && !(null == s ? void 0 : s.stack) || (0, vutils_1.isArray)(cell.x) && cell.x.length > 1))) : (!1 !== stack && (chartType === types_1.ChartType.BarChart || "bar" === type) || !!stack) && seriesField && !((0, vutils_1.isArray)(cell.x) && cell.x.includes(seriesField)); }; exports.isStackChart = isStackChart; const isPercentChart = (spec, chartType, cell) => { const {type: type, series: series = [], seriesField: seriesField} = spec || {}; return "common" === type && [ types_1.ChartType.BarChart, types_1.ChartType.AreaChart, types_1.ChartType.LineChart ].includes(chartType) ? null == series ? void 0 : series.every((s => !!(null == s ? void 0 : s.percent))) : !(!(null == spec ? void 0 : spec.percent) || seriesField && (0, vutils_1.isArray)(cell.x) && cell.x.includes(seriesField)); }; exports.isPercentChart = isPercentChart; const getYSeries = (series, yField) => (null != series ? series : []).find((s => s.yField === yField || (0, vutils_1.isArray)(s.yField) && s.yField.includes(yField))), isStackSeries = (spec, yField) => { const ySeries = getYSeries(null == spec ? void 0 : spec.series, yField); if (ySeries) { const {xField: xField, seriesField: seriesField, type: type, stack: stack} = ySeries; return (!1 !== stack && "bar" === type || !!stack) && seriesField && !((0, vutils_1.isArray)(xField) && xField.includes(seriesField)); } return !1; }; exports.isStackSeries = isStackSeries; const isPercenSeries = (spec, yField) => { const ySeries = getYSeries(null == spec ? void 0 : spec.series, yField); if (ySeries) { const {percent: percent, seriesField: seriesField, xField: xField} = ySeries; return !(!percent || seriesField && (0, vutils_1.isArray)(xField) && xField.includes(seriesField)); } return !1; }; exports.isPercenSeries = isPercenSeries; const sumDimensionValues = (dataset, measureId, getValue = (v => Math.abs(v))) => { let validCount = 0; const sum = dataset.reduce(((prev, cur) => { const numValue = Number(cur[measureId]), isValidNumber = (0, vutils_1.isNumber)(numValue) && !isNaN(numValue) && "" !== cur[measureId], value = isValidNumber ? getValue(numValue) : 0; return isValidNumber && validCount++, prev + value; }), 0); return validCount > 0 ? sum : null; }; exports.sumDimensionValues = sumDimensionValues; //# sourceMappingURL=utils.js.map