feat: generate consistent QueryObject whether GenericAxis is enabled or disabled (#21519)

This commit is contained in:
Yongjie Zhao
2022-09-21 09:41:21 +08:00
committed by GitHub
parent 6644a84f79
commit 4d12e3709e
22 changed files with 474 additions and 65 deletions

View File

@@ -18,12 +18,13 @@
*/
import {
buildQueryContext,
DTTM_ALIAS,
ensureIsArray,
normalizeOrderBy,
PostProcessingPivot,
QueryFormData,
QueryObject,
getXAxis,
isXAxisSet,
} from '@superset-ui/core';
import {
pivotOperator,
@@ -41,11 +42,8 @@ import {
} from '../utils/formDataSuffix';
export default function buildQuery(formData: QueryFormData) {
const { x_axis: index } = formData;
const is_timeseries = index === DTTM_ALIAS || !index;
const baseFormData = {
...formData,
is_timeseries,
};
const formData1 = removeFormDataSuffix(baseFormData, '_b');
@@ -55,9 +53,12 @@ export default function buildQuery(formData: QueryFormData) {
buildQueryContext(fd, baseQueryObject => {
const queryObject = {
...baseQueryObject,
columns: [...ensureIsArray(index), ...ensureIsArray(fd.groupby)],
columns: [
...(isXAxisSet(formData) ? ensureIsArray(getXAxis(formData)) : []),
...ensureIsArray(fd.groupby),
],
series_columns: fd.groupby,
is_timeseries,
...(isXAxisSet(formData) ? {} : { is_timeseries: true }),
};
const pivotOperatorInRuntime: PostProcessingPivot = isTimeComparison(
@@ -68,8 +69,6 @@ export default function buildQuery(formData: QueryFormData) {
: pivotOperator(fd, {
...queryObject,
columns: fd.groupby,
index,
is_timeseries,
});
const tmpQueryObject = {
@@ -83,7 +82,6 @@ export default function buildQuery(formData: QueryFormData) {
renameOperator(fd, {
...queryObject,
columns: fd.groupby,
is_timeseries,
}),
flattenOperator(fd, queryObject),
],