mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
feat(plugin-chart-echarts): add support for generic axis to mixed chart (#20097)
* feat(plugin-chart-echarts): add support for generic axis to mixed chart * fix tests + add new tests * address review comments * simplify control panel * fix types and tests
This commit is contained in:
@@ -18,10 +18,12 @@
|
||||
*/
|
||||
import {
|
||||
buildQueryContext,
|
||||
QueryFormData,
|
||||
QueryObject,
|
||||
DTTM_ALIAS,
|
||||
ensureIsArray,
|
||||
normalizeOrderBy,
|
||||
PostProcessingPivot,
|
||||
QueryFormData,
|
||||
QueryObject,
|
||||
} from '@superset-ui/core';
|
||||
import {
|
||||
pivotOperator,
|
||||
@@ -39,12 +41,13 @@ 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: true,
|
||||
columns: formData.groupby,
|
||||
columns_b: formData.groupby_b,
|
||||
is_timeseries,
|
||||
};
|
||||
|
||||
const formData1 = removeFormDataSuffix(baseFormData, '_b');
|
||||
const formData2 = retainFormDataSuffix(baseFormData, '_b');
|
||||
|
||||
@@ -52,7 +55,9 @@ export default function buildQuery(formData: QueryFormData) {
|
||||
buildQueryContext(fd, baseQueryObject => {
|
||||
const queryObject = {
|
||||
...baseQueryObject,
|
||||
is_timeseries: true,
|
||||
columns: [...ensureIsArray(index), ...ensureIsArray(fd.groupby)],
|
||||
series_columns: fd.groupby,
|
||||
is_timeseries,
|
||||
};
|
||||
|
||||
const pivotOperatorInRuntime: PostProcessingPivot = isTimeComparison(
|
||||
@@ -60,7 +65,12 @@ export default function buildQuery(formData: QueryFormData) {
|
||||
queryObject,
|
||||
)
|
||||
? timeComparePivotOperator(fd, queryObject)
|
||||
: pivotOperator(fd, queryObject);
|
||||
: pivotOperator(fd, {
|
||||
...queryObject,
|
||||
columns: fd.groupby,
|
||||
index,
|
||||
is_timeseries,
|
||||
});
|
||||
|
||||
const tmpQueryObject = {
|
||||
...queryObject,
|
||||
@@ -70,9 +80,13 @@ export default function buildQuery(formData: QueryFormData) {
|
||||
rollingWindowOperator(fd, queryObject),
|
||||
timeCompareOperator(fd, queryObject),
|
||||
resampleOperator(fd, queryObject),
|
||||
renameOperator(fd, queryObject),
|
||||
renameOperator(fd, {
|
||||
...queryObject,
|
||||
columns: fd.groupby,
|
||||
is_timeseries,
|
||||
}),
|
||||
flattenOperator(fd, queryObject),
|
||||
],
|
||||
].filter(Boolean),
|
||||
} as QueryObject;
|
||||
return [normalizeOrderBy(tmpQueryObject)];
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user