Skip to content

Commit 4d8b727

Browse files
committed
Fix duplicate metric labels in Mixed Timeseries legend
1 parent 0294c30 commit 4d8b727

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,10 @@ export default function transformProps(
244244
},
245245
);
246246

247-
const MetricDisplayNameA = getMetricDisplayName(metrics[0], verboseMap);
248-
const MetricDisplayNameB = getMetricDisplayName(metricsB[0], verboseMap);
247+
const MetricDisplayNameA: string =
248+
getMetricDisplayName(metrics[0], verboseMap) || '';
249+
const MetricDisplayNameB: string =
250+
getMetricDisplayName(metricsB[0], verboseMap) || '';
249251

250252
const dataTypes = getColtypesMapping(queriesData[0]);
251253
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];
@@ -400,10 +402,12 @@ export default function transformProps(
400402

401403
if (groupby.length > 0) {
402404
// When we have groupby, format as "metric, dimension"
403-
const metricPart = showQueryIdentifiers
405+
const metricPart: string = showQueryIdentifiers
404406
? `${MetricDisplayNameA} (Query A)`
405407
: MetricDisplayNameA;
406-
displayName = `${metricPart}, ${entryName}`;
408+
displayName = entryName.includes(metricPart)
409+
? entryName
410+
: `${metricPart}, ${entryName}`;
407411
} else {
408412
// When no groupby, format as just the entry name with optional query identifier
409413
displayName = showQueryIdentifiers ? `${entryName} (Query A)` : entryName;
@@ -471,10 +475,12 @@ export default function transformProps(
471475

472476
if (groupbyB.length > 0) {
473477
// When we have groupby, format as "metric, dimension"
474-
const metricPart = showQueryIdentifiers
478+
const metricPart: string = showQueryIdentifiers
475479
? `${MetricDisplayNameB} (Query B)`
476480
: MetricDisplayNameB;
477-
displayName = `${metricPart}, ${entryName}`;
481+
displayName = entryName.includes(metricPart)
482+
? entryName
483+
: `${metricPart}, ${entryName}`;
478484
} else {
479485
// When no groupby, format as just the entry name with optional query identifier
480486
displayName = showQueryIdentifiers ? `${entryName} (Query B)` : entryName;

0 commit comments

Comments
 (0)