From 7996359719faa2cb23074111a144f3d799dea989 Mon Sep 17 00:00:00 2001 From: SBIN2010 <132096459+SBIN2010@users.noreply.github.com> Date: Fri, 5 Sep 2025 02:39:57 +0300 Subject: [PATCH] fix: display legend mixed timeseries chart (#35005) (cherry picked from commit 031fb4b5a8b391ce1ae85a8685e9e4a16682f689) --- .../src/MixedTimeseries/transformProps.ts | 2 ++ .../MixedTimeseries/transformProps.test.ts | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts index 1ecf56f039a..def74128c2b 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts @@ -423,6 +423,7 @@ export default function transformProps( { ...entry, id: `${displayName || ''}`, + name: `${displayName || ''}`, }, colorScale, colorScaleKey, @@ -489,6 +490,7 @@ export default function transformProps( { ...entry, id: `${displayName || ''}`, + name: `${displayName || ''}`, }, colorScale, diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/MixedTimeseries/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/MixedTimeseries/transformProps.test.ts index 436062b7ef9..24693494e47 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/test/MixedTimeseries/transformProps.test.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/test/MixedTimeseries/transformProps.test.ts @@ -137,6 +137,24 @@ it('should transform chart props for viz with showQueryIdentifiers=false', () => expect(seriesIds).not.toContain('sum__num (Query A), boy'); expect(seriesIds).not.toContain('sum__num (Query B), girl'); expect(seriesIds).not.toContain('sum__num (Query B), boy'); + + // Check that series name include query identifiers + const seriesName = (transformed.echartOptions.series as any[]).map( + (s: any) => s.name, + ); + expect(seriesName).toContain('sum__num, girl'); + expect(seriesName).toContain('sum__num, boy'); + expect(seriesName).not.toContain('sum__num (Query A), girl'); + expect(seriesName).not.toContain('sum__num (Query A), boy'); + expect(seriesName).not.toContain('sum__num (Query B), girl'); + expect(seriesName).not.toContain('sum__num (Query B), boy'); + + expect((transformed.echartOptions.legend as any).data).toEqual([ + 'sum__num, girl', + 'sum__num, boy', + 'sum__num, girl', + 'sum__num, boy', + ]); }); it('should transform chart props for viz with showQueryIdentifiers=true', () => { @@ -160,4 +178,22 @@ it('should transform chart props for viz with showQueryIdentifiers=true', () => expect(seriesIds).toContain('sum__num (Query B), boy'); expect(seriesIds).not.toContain('sum__num, girl'); expect(seriesIds).not.toContain('sum__num, boy'); + + // Check that series name include query identifiers + const seriesName = (transformed.echartOptions.series as any[]).map( + (s: any) => s.name, + ); + expect(seriesName).toContain('sum__num (Query A), girl'); + expect(seriesName).toContain('sum__num (Query A), boy'); + expect(seriesName).toContain('sum__num (Query B), girl'); + expect(seriesName).toContain('sum__num (Query B), boy'); + expect(seriesName).not.toContain('sum__num, girl'); + expect(seriesName).not.toContain('sum__num, boy'); + + expect((transformed.echartOptions.legend as any).data).toEqual([ + 'sum__num (Query A), girl', + 'sum__num (Query A), boy', + 'sum__num (Query B), girl', + 'sum__num (Query B), boy', + ]); });