diff --git a/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts b/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts index 4546c47b9c..b54fde1f0a 100644 --- a/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts +++ b/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts @@ -42,7 +42,7 @@ import { import { defaultGrid, defaultTooltip, defaultYAxis } from '../defaults'; import { getPadding, - getTooltipFormatter, + getTooltipTimeFormatter, getXAxisFormatter, transformEventAnnotation, transformFormulaAnnotation, @@ -109,6 +109,18 @@ export default function transformProps(chartProps: ChartProps): EchartsProps { const formatter = getNumberFormatter(contributionMode ? ',.0%' : yAxisFormat); const formatterSecondary = getNumberFormatter(contributionMode ? ',.0%' : yAxisFormatSecondary); + const primarySeries = new Set(); + const secondarySeries = new Set(); + const mapSeriesIdToAxis = (seriesOption: SeriesOption, index?: number): void => { + if (index === 1) { + secondarySeries.add(seriesOption.id as string); + } else { + primarySeries.add(seriesOption.id as string); + } + }; + rawSeriesA.forEach(seriesOption => mapSeriesIdToAxis(seriesOption, yAxisIndex)); + rawSeriesB.forEach(seriesOption => mapSeriesIdToAxis(seriesOption, yAxisIndexB)); + rawSeriesA.forEach(entry => { const transformedSeries = transformSeries(entry, colorScale, { area, @@ -159,7 +171,7 @@ export default function transformProps(chartProps: ChartProps): EchartsProps { if (max === undefined) max = 1; } - const tooltipFormatter = getTooltipFormatter(tooltipTimeFormat); + const tooltipTimeFormatter = getTooltipTimeFormatter(tooltipTimeFormat); const xAxisFormatter = getXAxisFormatter(xAxisTimeFormat); const addYAxisLabelOffset = !!(yAxisTitle || yAxisTitleSecondary); @@ -211,7 +223,7 @@ export default function transformProps(chartProps: ChartProps): EchartsProps { const value: number = !richTooltip ? params.value : params[0].value[0]; const prophetValue = !richTooltip ? [params] : params; - const rows: Array = [`${tooltipFormatter(value)}`]; + const rows: Array = [`${tooltipTimeFormatter(value)}`]; const prophetValues: Record = extractProphetValuesFromTooltipParams( prophetValue, ); @@ -222,7 +234,7 @@ export default function transformProps(chartProps: ChartProps): EchartsProps { formatProphetTooltipSeries({ ...value, seriesName: key, - formatter, + formatter: primarySeries.has(key) ? formatter : formatterSecondary, }), ); }); diff --git a/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts b/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts index 4fca18501e..39f63ecfb7 100644 --- a/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts +++ b/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts @@ -43,7 +43,7 @@ import { import { defaultGrid, defaultTooltip, defaultYAxis } from '../defaults'; import { getPadding, - getTooltipFormatter, + getTooltipTimeFormatter, getXAxisFormatter, transformEventAnnotation, transformFormulaAnnotation, @@ -135,7 +135,7 @@ export default function transformProps(chartProps: ChartProps): EchartsProps { if (max === undefined) max = 1; } - const tooltipFormatter = getTooltipFormatter(tooltipTimeFormat); + const tooltipFormatter = getTooltipTimeFormatter(tooltipTimeFormat); const xAxisFormatter = getXAxisFormatter(xAxisTimeFormat); const addYAxisLabelOffset = !!yAxisTitle; diff --git a/plugins/plugin-chart-echarts/src/Timeseries/transformers.ts b/plugins/plugin-chart-echarts/src/Timeseries/transformers.ts index fe3e03de66..5b53f1bb12 100644 --- a/plugins/plugin-chart-echarts/src/Timeseries/transformers.ts +++ b/plugins/plugin-chart-echarts/src/Timeseries/transformers.ts @@ -336,7 +336,7 @@ export function getPadding( }); } -export function getTooltipFormatter(format?: string): TimeFormatter | StringConstructor { +export function getTooltipTimeFormatter(format?: string): TimeFormatter | StringConstructor { if (format === smartDateFormatter.id) { return smartDateDetailedFormatter; }