fix: Heatmap sorting (#31752)

This commit is contained in:
Michael S. Molina
2025-01-09 14:28:45 -03:00
committed by GitHub
parent 5acd03876b
commit a477d84729
4 changed files with 23 additions and 19 deletions

View File

@@ -18,6 +18,7 @@
*/
import {
QueryFormColumn,
QueryFormData,
QueryFormOrderBy,
buildQueryContext,
ensureIsArray,
@@ -26,9 +27,8 @@ import {
getXAxisColumn,
} from '@superset-ui/core';
import { rankOperator } from '@superset-ui/chart-controls';
import { HeatmapFormData } from './types';
export default function buildQuery(formData: HeatmapFormData) {
export default function buildQuery(formData: QueryFormData) {
const { groupby, normalize_across, sort_x_axis, sort_y_axis, x_axis } =
formData;
const metric = getMetricLabel(formData.metric);
@@ -36,16 +36,19 @@ export default function buildQuery(formData: HeatmapFormData) {
...ensureIsArray(getXAxisColumn(formData)),
...ensureIsArray(groupby),
];
const orderby: QueryFormOrderBy[] = [
[
const orderby: QueryFormOrderBy[] = [];
if (sort_x_axis) {
orderby.push([
sort_x_axis.includes('value') ? metric : columns[0],
sort_x_axis.includes('asc'),
],
[
]);
}
if (sort_y_axis) {
orderby.push([
sort_y_axis.includes('value') ? metric : columns[1],
sort_y_axis.includes('asc'),
],
];
]);
}
const group_by =
normalize_across === 'x'
? getColumnLabel(x_axis)