From 86f79be876101ab301e0c536874f7839bf0d8840 Mon Sep 17 00:00:00 2001 From: Ville Brofeldt <33317356+villebro@users.noreply.github.com> Date: Tue, 28 Mar 2023 14:08:52 +0300 Subject: [PATCH] fix(generic-x-axis): skip initial time filter for legacy charts (#23506) (cherry picked from commit 8db5cb18c01ee8c9ee1fb3dc60c3af32682c47f7) --- .../superset-ui-chart-controls/src/shared-controls/mixins.tsx | 4 +++- .../src/explore/components/ControlPanelsContainer.tsx | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/mixins.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/mixins.tsx index 0b19b96c7f6cf..1db389ddecb2c 100644 --- a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/mixins.tsx +++ b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/mixins.tsx @@ -73,9 +73,11 @@ export const datePickerInAdhocFilterMixin: Pick< initialValue: (control: ControlState, state: ControlPanelState | null) => { // skip initialValue if // 1) GENERIC_CHART_AXES is disabled - // 2) there was a time filter in adhoc filters + // 2) the time_range control is present (this is the case for legacy charts) + // 3) there was a time filter in adhoc filters if ( !hasGenericChartAxes || + state?.controls?.time_range?.value || ensureIsArray(control.value).findIndex( (flt: any) => flt?.operator === 'TEMPORAL_RANGE', ) > -1 diff --git a/superset-frontend/src/explore/components/ControlPanelsContainer.tsx b/superset-frontend/src/explore/components/ControlPanelsContainer.tsx index 1084264789096..851958f2fdfd2 100644 --- a/superset-frontend/src/explore/components/ControlPanelsContainer.tsx +++ b/superset-frontend/src/explore/components/ControlPanelsContainer.tsx @@ -494,7 +494,7 @@ export const ControlPanelsContainer = (props: ControlPanelsContainerProps) => { ) => { const isTemporalRange = (filter: Record) => filter.operator === Operators.TEMPORAL_RANGE; - if (isTemporalRange(valueToBeDeleted)) { + if (!controls?.time_range?.value && isTemporalRange(valueToBeDeleted)) { const count = values.filter(isTemporalRange).length; if (count === 1) { return t(