fix(echarts): fix time shift color matching functionality (#35826)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Mehmet Salih Yavuz
2025-10-28 23:36:50 +03:00
committed by GitHub
parent e1455057e7
commit 5218b4eea2

View File

@@ -200,6 +200,7 @@ export default function transformProps(
zoomable,
stackDimension,
}: EchartsTimeseriesFormData = { ...DEFAULT_FORM_DATA, ...formData };
const refs: Refs = {};
const groupBy = ensureIsArray(groupby);
const labelMap: { [key: string]: string[] } = Object.entries(
@@ -301,7 +302,24 @@ export default function transformProps(
const entryName = String(entry.name || '');
const seriesName = inverted[entryName] || entryName;
const colorScaleKey = getOriginalSeries(seriesName, array);
let colorScaleKey = getOriginalSeries(seriesName, array);
// If this series name exactly matches a time compare value, it's a time-shifted series
// and we need to find the corresponding original series for color matching
if (array && array.includes(seriesName)) {
// Find the original series (first non-time-compare series)
const originalSeries = rawSeries.find(s => {
const sName = inverted[String(s.name || '')] || String(s.name || '');
return !array.includes(sName);
});
if (originalSeries) {
const originalSeriesName =
inverted[String(originalSeries.name || '')] ||
String(originalSeries.name || '');
colorScaleKey = getOriginalSeries(originalSeriesName, array);
}
}
const transformedSeries = transformSeries(
entry,