mirror of
https://github.com/apache/superset.git
synced 2026-04-23 18:14:56 +00:00
feat: Add currencies controls in control panels (#24718)
This commit is contained in:
committed by
GitHub
parent
1a9c559a8f
commit
f7e76d02b7
@@ -36,9 +36,9 @@ import {
|
||||
ensureIsArray,
|
||||
buildCustomFormatters,
|
||||
ValueFormatter,
|
||||
NumberFormatter,
|
||||
QueryFormMetric,
|
||||
getCustomFormatter,
|
||||
CurrencyFormatter,
|
||||
} from '@superset-ui/core';
|
||||
import { getOriginalSeries } from '@superset-ui/chart-controls';
|
||||
import { EChartsCoreOption, SeriesOption } from 'echarts';
|
||||
@@ -92,7 +92,7 @@ import { getYAxisFormatter } from '../utils/getYAxisFormatter';
|
||||
|
||||
const getFormatter = (
|
||||
customFormatters: Record<string, ValueFormatter>,
|
||||
defaultFormatter: NumberFormatter,
|
||||
defaultFormatter: ValueFormatter,
|
||||
metrics: QueryFormMetric[],
|
||||
formatterKey: string,
|
||||
forcePercentFormat: boolean,
|
||||
@@ -167,7 +167,9 @@ export default function transformProps(
|
||||
truncateYAxis,
|
||||
tooltipTimeFormat,
|
||||
yAxisFormat,
|
||||
currencyFormat,
|
||||
yAxisFormatSecondary,
|
||||
currencyFormatSecondary,
|
||||
xAxisTimeFormat,
|
||||
yAxisBounds,
|
||||
yAxisBoundsSecondary,
|
||||
@@ -221,21 +223,32 @@ export default function transformProps(
|
||||
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];
|
||||
const xAxisType = getAxisType(xAxisDataType);
|
||||
const series: SeriesOption[] = [];
|
||||
const formatter = getNumberFormatter(contributionMode ? ',.0%' : yAxisFormat);
|
||||
const formatterSecondary = getNumberFormatter(
|
||||
contributionMode ? ',.0%' : yAxisFormatSecondary,
|
||||
);
|
||||
const formatter = contributionMode
|
||||
? getNumberFormatter(',.0%')
|
||||
: currencyFormat?.symbol
|
||||
? new CurrencyFormatter({ d3Format: yAxisFormat, currency: currencyFormat })
|
||||
: getNumberFormatter(yAxisFormat);
|
||||
const formatterSecondary = contributionMode
|
||||
? getNumberFormatter(',.0%')
|
||||
: currencyFormatSecondary?.symbol
|
||||
? new CurrencyFormatter({
|
||||
d3Format: yAxisFormatSecondary,
|
||||
currency: currencyFormatSecondary,
|
||||
})
|
||||
: getNumberFormatter(yAxisFormatSecondary);
|
||||
const customFormatters = buildCustomFormatters(
|
||||
[...ensureIsArray(metrics), ...ensureIsArray(metricsB)],
|
||||
currencyFormats,
|
||||
columnFormats,
|
||||
yAxisFormat,
|
||||
currencyFormat,
|
||||
);
|
||||
const customFormattersSecondary = buildCustomFormatters(
|
||||
[...ensureIsArray(metrics), ...ensureIsArray(metricsB)],
|
||||
currencyFormats,
|
||||
columnFormats,
|
||||
yAxisFormatSecondary,
|
||||
currencyFormatSecondary,
|
||||
);
|
||||
|
||||
const primarySeries = new Set<string>();
|
||||
@@ -498,7 +511,7 @@ export default function transformProps(
|
||||
metrics,
|
||||
!!contributionMode,
|
||||
customFormatters,
|
||||
yAxisFormat,
|
||||
formatter,
|
||||
),
|
||||
},
|
||||
scale: truncateYAxis,
|
||||
@@ -520,7 +533,7 @@ export default function transformProps(
|
||||
metricsB,
|
||||
!!contributionMode,
|
||||
customFormattersSecondary,
|
||||
yAxisFormatSecondary,
|
||||
formatterSecondary,
|
||||
),
|
||||
},
|
||||
scale: truncateYAxis,
|
||||
|
||||
Reference in New Issue
Block a user