You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by am...@apache.org on 2026/01/13 06:27:32 UTC
(superset) branch amaan/time_shift_ag_grid_migration created (now d87b930425)
This is an automated email from the ASF dual-hosted git repository.
amaan pushed a change to branch amaan/time_shift_ag_grid_migration
in repository https://gitbox.apache.org/repos/asf/superset.git
at d87b930425 feat(ag-grid-table): Enable Time Shift feature for AG Grid Table
This branch includes the following new commits:
new d87b930425 feat(ag-grid-table): Enable Time Shift feature for AG Grid Table
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(superset) 01/01: feat(ag-grid-table): Enable Time Shift feature for AG Grid Table
Posted by am...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
amaan pushed a commit to branch amaan/time_shift_ag_grid_migration
in repository https://gitbox.apache.org/repos/asf/superset.git
commit d87b93042503ed071524b99080d02a7195323cab
Author: amaannawab923 <am...@gmail.com>
AuthorDate: Mon Jan 12 23:33:16 2026 +0530
feat(ag-grid-table): Enable Time Shift feature for AG Grid Table
The Time Shift (time comparison) feature was already implemented in the
AG Grid Table plugin but was gated behind the TableV2TimeComparisonEnabled
feature flag. This commit enables the feature and adds dashboard override
support to bring AG Grid Table to full parity with the normal Table plugin.
Changes:
- Removed feature flag checks from controlPanel.tsx and transformProps.ts
- Added extra_form_data.time_compare override logic in buildQuery.ts so
dashboard-level time shifts can override chart-level settings
- Added merge() for extra_form_data in transformProps.ts to properly
propagate dashboard filter overrides to the chart
This allows users to:
- Use Time Comparison controls in Aggregate mode (1 week ago, 1 month ago, etc.)
- See expanded columns (Main, #, △, %) for each metric
- Have dashboard filters override chart-level time shift settings
Related PRs: apache#33947, apache#34014
---
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 9 +++++++++
.../plugin-chart-ag-grid-table/src/controlPanel.tsx | 6 +-----
.../plugin-chart-ag-grid-table/src/transformProps.ts | 18 ++++++++++++------
3 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/buildQuery.ts b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/buildQuery.ts
index 293509ff1a..85dcd2612f 100644
--- a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/buildQuery.ts
+++ b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/buildQuery.ts
@@ -120,6 +120,15 @@ const buildQuery: BuildQuery<TableChartFormData> = (
}
}
+ // Dashboard filter override - allows dashboard-level time shifts to OVERRIDE
+ // chart-level time shift settings (from PRs #33947 and #34014)
+ if (
+ extra_form_data?.time_compare &&
+ !timeOffsets.includes(extra_form_data.time_compare)
+ ) {
+ timeOffsets = [extra_form_data.time_compare];
+ }
+
let temporalColumnAdded = false;
let temporalColumn = null;
diff --git a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/controlPanel.tsx
index ef0204805e..4ab4d8139b 100644
--- a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/controlPanel.tsx
@@ -43,9 +43,7 @@ import {
import { t } from '@apache-superset/core';
import {
ensureIsArray,
- FeatureFlag,
isAdhocColumn,
- isFeatureEnabled,
isPhysicalColumn,
validateInteger,
QueryFormColumn,
@@ -752,9 +750,7 @@ const config: ControlPanelConfig = {
showCalculationType: false,
showFullChoices: false,
}),
- visibility: ({ controls }) =>
- isAggMode({ controls }) &&
- isFeatureEnabled(FeatureFlag.TableV2TimeComparisonEnabled),
+ visibility: isAggMode,
},
],
formDataOverrides: formData => ({
diff --git a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/transformProps.ts b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/transformProps.ts
index 465f744425..73cee040fa 100644
--- a/superset-frontend/plugins/plugin-chart-ag-grid-table/src/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-ag-grid-table/src/transformProps.ts
@@ -25,12 +25,10 @@ import {
DataRecord,
ensureIsArray,
extractTimegrain,
- FeatureFlag,
getMetricLabel,
getNumberFormatter,
getTimeFormatter,
getTimeFormatterForGranularity,
- isFeatureEnabled,
NumberFormats,
QueryMode,
SMART_DATE_ID,
@@ -38,7 +36,7 @@ import {
TimeFormatter,
} from '@superset-ui/core';
import { GenericDataType } from '@apache-superset/core/api/core';
-import { isEmpty, isEqual } from 'lodash';
+import { isEmpty, isEqual, merge } from 'lodash';
import {
ConditionalFormattingConfig,
getColorFormatters,
@@ -465,7 +463,7 @@ const transformProps = (
const {
height,
width,
- rawFormData: formData,
+ rawFormData: originalFormData,
queriesData = [],
ownState: serverPaginationData,
filterState,
@@ -474,6 +472,15 @@ const transformProps = (
theme,
} = chartProps;
+ // Merge extra_form_data (dashboard filter overrides) into formData
+ // This ensures dashboard-level settings (like time_compare) override chart-level settings
+ // From PRs #33947 and #34014
+ const formData = merge(
+ {},
+ originalFormData,
+ originalFormData.extra_form_data,
+ );
+
const {
include_search: includeSearch = false,
page_length: pageLength,
@@ -499,8 +506,7 @@ const transformProps = (
const isUsingTimeComparison =
!isEmpty(time_compare) &&
queryMode === QueryMode.Aggregate &&
- comparison_type === ComparisonType.Values &&
- isFeatureEnabled(FeatureFlag.TableV2TimeComparisonEnabled);
+ comparison_type === ComparisonType.Values;
const nonCustomNorInheritShifts = ensureIsArray(formData.time_compare).filter(
(shift: string) => shift !== 'custom' && shift !== 'inherit',