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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 20 deletions

View File

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

View File

@ -315,15 +315,7 @@ export function transformSeries(
opacity: opacity * areaOpacity, opacity: opacity * areaOpacity,
} }
: undefined, : undefined,
emphasis: { emphasis,
// bold on hover as required since 5.3.0 to retain backwards feature parity:
// https://apache.github.io/echarts-handbook/en/basics/release-note/5-3-0/#removing-the-default-bolding-emphasis-effect-in-the-line-chart
// TODO: should consider only adding emphasis to currently hovered series
lineStyle: {
width: 'bolder',
},
...emphasis,
},
showSymbol, showSymbol,
symbolSize: markerSize, symbolSize: markerSize,
label: { label: {