mirror of
https://github.com/apache/superset.git
synced 2024-09-16 10:39:55 -04:00
fix: pivot v2 charts created before GENERIC_CHART_AXES
is enabled (#23731)
This commit is contained in:
parent
e8121b1cd2
commit
314987f32d
@ -42,7 +42,11 @@ export default function buildQuery(formData: PivotTableQueryFormData) {
|
|||||||
isPhysicalColumn(col) &&
|
isPhysicalColumn(col) &&
|
||||||
formData.time_grain_sqla &&
|
formData.time_grain_sqla &&
|
||||||
hasGenericChartAxes &&
|
hasGenericChartAxes &&
|
||||||
formData?.temporal_columns_lookup?.[col]
|
/* Charts created before `GENERIC_CHART_AXES` is enabled have a different
|
||||||
|
* form data, with `granularity_sqla` set instead.
|
||||||
|
*/
|
||||||
|
(formData?.temporal_columns_lookup?.[col] ||
|
||||||
|
formData.granularity_sqla === col)
|
||||||
) {
|
) {
|
||||||
return {
|
return {
|
||||||
timeGrain: formData.time_grain_sqla,
|
timeGrain: formData.time_grain_sqla,
|
||||||
|
@ -80,6 +80,8 @@ interface PivotTableCustomizeProps {
|
|||||||
filters?: ContextMenuFilters,
|
filters?: ContextMenuFilters,
|
||||||
) => void;
|
) => void;
|
||||||
timeGrainSqla?: TimeGranularity;
|
timeGrainSqla?: TimeGranularity;
|
||||||
|
time_grain_sqla?: TimeGranularity;
|
||||||
|
granularity_sqla?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type PivotTableQueryFormData = QueryFormData &
|
export type PivotTableQueryFormData = QueryFormData &
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { TimeGranularity } from '@superset-ui/core';
|
||||||
|
import * as supersetCoreModule from '@superset-ui/core';
|
||||||
import buildQuery from '../../src/plugin/buildQuery';
|
import buildQuery from '../../src/plugin/buildQuery';
|
||||||
import { PivotTableQueryFormData } from '../../src/types';
|
import { PivotTableQueryFormData } from '../../src/types';
|
||||||
|
|
||||||
@ -55,4 +57,29 @@ describe('PivotTableChart buildQuery', () => {
|
|||||||
const [query] = queryContext.queries;
|
const [query] = queryContext.queries;
|
||||||
expect(query.columns).toEqual(['col1', 'col2', 'row1', 'row2']);
|
expect(query.columns).toEqual(['col1', 'col2', 'row1', 'row2']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should work with old charts after GENERIC_CHART_AXES is enabled', () => {
|
||||||
|
Object.defineProperty(supersetCoreModule, 'hasGenericChartAxes', {
|
||||||
|
value: true,
|
||||||
|
});
|
||||||
|
const modifiedFormData = {
|
||||||
|
...formData,
|
||||||
|
time_grain_sqla: TimeGranularity.MONTH,
|
||||||
|
granularity_sqla: 'col1',
|
||||||
|
};
|
||||||
|
const queryContext = buildQuery(modifiedFormData);
|
||||||
|
const [query] = queryContext.queries;
|
||||||
|
expect(query.columns).toEqual([
|
||||||
|
{
|
||||||
|
timeGrain: 'P1M',
|
||||||
|
columnType: 'BASE_AXIS',
|
||||||
|
sqlExpression: 'col1',
|
||||||
|
label: 'col1',
|
||||||
|
expressionType: 'SQL',
|
||||||
|
},
|
||||||
|
'col2',
|
||||||
|
'row1',
|
||||||
|
'row2',
|
||||||
|
]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user