fix: adjust line type as well as weight for time series (#30949)

This commit is contained in:
Elizabeth Thompson
2025-01-21 10:02:47 -08:00
committed by GitHub
parent 79f21b09d2
commit 550123882c
2 changed files with 5 additions and 20 deletions

View File

@@ -45,7 +45,6 @@ import {
extractExtraMetrics,
getOriginalSeries,
isDerivedSeries,
getTimeOffset,
} from '@superset-ui/chart-controls';
import type { EChartsCoreOption } from 'echarts/core';
import type { LineStyleOption } from 'echarts/types/src/util/types';
@@ -281,21 +280,15 @@ export default function transformProps(
const array = ensureIsArray(chartProps.rawFormData?.time_compare);
const inverted = invert(verboseMap);
const offsetLineWidths: { [key: string]: number } = {};
let patternIncrement = 0;
rawSeries.forEach(entry => {
const derivedSeries = isDerivedSeries(entry, chartProps.rawFormData);
const lineStyle: LineStyleOption = {};
if (derivedSeries) {
const offset = getTimeOffset(
entry,
ensureIsArray(chartProps.rawFormData?.time_compare),
)!;
if (!offsetLineWidths[offset]) {
offsetLineWidths[offset] = Object.keys(offsetLineWidths).length + 1;
}
lineStyle.type = 'dashed';
lineStyle.width = offsetLineWidths[offset];
patternIncrement += 1;
// use a combination of dash and dot for the line style
lineStyle.type = [(patternIncrement % 5) + 1, (patternIncrement % 3) + 1];
lineStyle.opacity = OpacityEnum.DerivedSeries;
}