This is an automated email from the ASF dual-hosted git repository. arivero pushed a commit to branch table-time-comparison in repository https://gitbox.apache.org/repos/asf/superset.git
commit 6c11355037d7f9ab9b34cbd5c361277bb385eaeb Author: Antonio Rivero <[email protected]> AuthorDate: Thu Mar 7 18:02:25 2024 +0100 Table with Time Comparison: - Fix table rendering when switching from Agg mode to Raw mode and viceversa --- .../plugins/plugin-chart-table/src/buildQuery.ts | 5 +++-- .../plugins/plugin-chart-table/src/controlPanel.tsx | 19 ++++++++++++++----- .../plugins/plugin-chart-table/src/transformProps.ts | 3 ++- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/superset-frontend/plugins/plugin-chart-table/src/buildQuery.ts b/superset-frontend/plugins/plugin-chart-table/src/buildQuery.ts index f892d2fe94..e90eafeebe 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/buildQuery.ts +++ b/superset-frontend/plugins/plugin-chart-table/src/buildQuery.ts @@ -64,10 +64,11 @@ const buildQuery: BuildQuery<TableChartFormData> = ( time_comparison: timeComparison, enable_time_comparison, } = formData; + const queryMode = getQueryMode(formData); const canUseTimeComparison = enable_time_comparison && - isFeatureEnabled(FeatureFlag.ChartPluginsExperimental); - const queryMode = getQueryMode(formData); + isFeatureEnabled(FeatureFlag.ChartPluginsExperimental) && + queryMode === QueryMode.Aggregate; const sortByMetric = ensureIsArray(formData.timeseries_limit_metric)[0]; const time_grain_sqla = extra_form_data?.time_grain_sqla || formData.time_grain_sqla; diff --git a/superset-frontend/plugins/plugin-chart-table/src/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-table/src/controlPanel.tsx index 78a6a1eeab..cf0ad3d952 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-table/src/controlPanel.tsx @@ -94,7 +94,13 @@ const queryMode: ControlConfig<'RadioButtonControl'> = { [QueryMode.Raw, QueryModeLabel[QueryMode.Raw]], ], mapStateToProps: ({ controls }) => ({ value: getQueryMode(controls) }), - rerender: ['all_columns', 'groupby', 'metrics', 'percent_metrics'], + rerender: [ + 'all_columns', + 'groupby', + 'metrics', + 'percent_metrics', + 'enable_time_comparison', + ], }; const allColumnsControl: typeof sharedControls.groupby = { @@ -269,8 +275,9 @@ const config: ControlPanelConfig = { label: t('Enable Time Comparison'), description: t('Enable time comparison (experimental feature)'), default: false, - visibility: () => - isFeatureEnabled(FeatureFlag.ChartPluginsExperimental), + visibility: ({ controls }) => + isFeatureEnabled(FeatureFlag.ChartPluginsExperimental) && + isAggMode({ controls }), }, }, ], @@ -297,7 +304,8 @@ const config: ControlPanelConfig = { ), visibility: ({ controls }) => Boolean(controls?.enable_time_comparison?.value) && - isFeatureEnabled(FeatureFlag.ChartPluginsExperimental), + isFeatureEnabled(FeatureFlag.ChartPluginsExperimental) && + isAggMode({ controls }), }, }, ], @@ -312,7 +320,8 @@ const config: ControlPanelConfig = { visibility: ({ controls }) => Boolean(controls?.enable_time_comparison?.value) && controls?.time_comparison?.value === - ComparisonTimeRangeType.Custom, + ComparisonTimeRangeType.Custom && + isAggMode({ controls }), mapStateToProps: ( state: ControlPanelState, controlState: ControlState, diff --git a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts index 00ff94504f..64fb198016 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts +++ b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts @@ -377,7 +377,8 @@ const transformProps = ( } = formData; const canUseTimeComparison = enableTimeComparison && - isFeatureEnabled(FeatureFlag.ChartPluginsExperimental); + isFeatureEnabled(FeatureFlag.ChartPluginsExperimental) && + queryMode === QueryMode.Aggregate; const timeGrain = extractTimegrain(formData); const [metrics, percentMetrics, columns] = processColumns(chartProps);
