You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ar...@apache.org on 2024/03/25 17:17:24 UTC
(superset) 09/10: Table with Time Comparison:
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 a00ebf212ee7bc5e547d0dfe88992b0bd4159365
Author: Antonio Rivero <an...@gmail.com>
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);