Skip to content

Commit

Permalink
fix(dashboard): Cross filters with time shifted series (#23347)
Browse files Browse the repository at this point in the history
  • Loading branch information
kgabryje authored Mar 13, 2023
1 parent a591130 commit 78ee60e
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,9 @@ export default function transformProps(
} = chartProps;
const { verboseMap = {} } = datasource;
const [queryData] = queriesData;
const { data = [], label_map: labelMap } =
const { data = [], label_map = {} } =
queryData as TimeseriesChartDataResponseResult;

const dataTypes = getColtypesMapping(queryData);
const annotationData = getAnnotationData(chartProps);

Expand Down Expand Up @@ -136,6 +137,7 @@ export default function transformProps(
showValue,
sliceId,
timeGrainSqla,
timeCompare,
stack,
tooltipTimeFormat,
tooltipSortByMetric,
Expand All @@ -154,6 +156,17 @@ export default function transformProps(
}: EchartsTimeseriesFormData = { ...DEFAULT_FORM_DATA, ...formData };
const refs: Refs = {};

const labelMap = Object.entries(label_map).reduce((acc, entry) => {
if (
entry[1].length > groupby.length &&
Array.isArray(timeCompare) &&
timeCompare.includes(entry[1][0])
) {
entry[1].shift();
}
return { ...acc, [entry[0]]: entry[1] };
}, {});

const colorScale = CategoricalColorNamespace.getScale(colorScheme as string);
const rebasedData = rebaseForecastDatum(data, verboseMap);
let xAxisLabel = getXAxisLabel(chartProps.rawFormData) as string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export type EchartsTimeseriesFormData = QueryFormData & {
rowLimit: number;
seriesType: EchartsTimeseriesSeriesType;
stack: StackType;
timeCompare?: string[];
tooltipTimeFormat?: string;
truncateYAxis: boolean;
yAxisFormat?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -497,4 +497,35 @@ describe('Does transformProps transform series correctly', () => {
});
});
});

it('should remove time shift labels from label_map', () => {
const updatedChartPropsConfig = {
...chartPropsConfig,
formData: {
...formData,
timeCompare: ['1 year ago'],
},
queriesData: [
{
...queriesData[0],
label_map: {
'1 year ago, foo1, bar1': ['1 year ago', 'foo1', 'bar1'],
'1 year ago, foo2, bar2': ['1 year ago', 'foo2', 'bar2'],
'foo1, bar1': ['foo1', 'bar1'],
'foo2, bar2': ['foo2', 'bar2'],
},
},
],
};
const chartProps = new ChartProps(updatedChartPropsConfig);
const transformedProps = transformProps(
chartProps as EchartsTimeseriesChartProps,
);
expect(transformedProps.labelMap).toEqual({
'1 year ago, foo1, bar1': ['foo1', 'bar1'],
'1 year ago, foo2, bar2': ['foo2', 'bar2'],
'foo1, bar1': ['foo1', 'bar1'],
'foo2, bar2': ['foo2', 'bar2'],
});
});
});

0 comments on commit 78ee60e

Please sign in to comment.