Skip to content

Commit

Permalink
fix: Stacked charts with numerical columns (apache#26264)
Browse files Browse the repository at this point in the history
(cherry picked from commit 429e2a3)
  • Loading branch information
michael-s-molina authored and josedev-union committed Jan 22, 2024
1 parent 0bb1ef0 commit cf0d842
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ export default function transformProps(

const dataTypes = getColtypesMapping(queriesData[0]);
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];
const xAxisType = getAxisType(xAxisDataType);
const xAxisType = getAxisType(stack, xAxisDataType);
const series: SeriesOption[] = [];
const formatter = contributionMode
? getNumberFormatter(',.0%')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ export default function transformProps(
const isAreaExpand = stack === StackControlsValue.Expand;
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];

const xAxisType = getAxisType(xAxisDataType);
const xAxisType = getAxisType(stack, xAxisDataType);
const series: SeriesOption[] = [];

const forcePercentFormatter = Boolean(contributionMode || isAreaExpand);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -508,11 +508,14 @@ export function sanitizeHtml(text: string): string {
return format.encodeHTML(text);
}

export function getAxisType(dataType?: GenericDataType): AxisType {
export function getAxisType(
stack: StackType,
dataType?: GenericDataType,
): AxisType {
if (dataType === GenericDataType.TEMPORAL) {
return AxisType.time;
}
if (dataType === GenericDataType.NUMERIC) {
if (dataType === GenericDataType.NUMERIC && !stack) {
return AxisType.value;
}
return AxisType.category;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -875,10 +875,13 @@ test('calculateLowerLogTick', () => {
});

test('getAxisType', () => {
expect(getAxisType(GenericDataType.TEMPORAL)).toEqual(AxisType.time);
expect(getAxisType(GenericDataType.NUMERIC)).toEqual(AxisType.value);
expect(getAxisType(GenericDataType.BOOLEAN)).toEqual(AxisType.category);
expect(getAxisType(GenericDataType.STRING)).toEqual(AxisType.category);
expect(getAxisType(false, GenericDataType.TEMPORAL)).toEqual(AxisType.time);
expect(getAxisType(false, GenericDataType.NUMERIC)).toEqual(AxisType.value);
expect(getAxisType(true, GenericDataType.NUMERIC)).toEqual(AxisType.category);
expect(getAxisType(false, GenericDataType.BOOLEAN)).toEqual(
AxisType.category,
);
expect(getAxisType(false, GenericDataType.STRING)).toEqual(AxisType.category);
});

test('getMinAndMaxFromBounds returns empty object when not truncating', () => {
Expand Down

0 comments on commit cf0d842

Please sign in to comment.