From d598bdcf0bf7036a9fff09f24f50d5b68194e70d Mon Sep 17 00:00:00 2001 From: Ville Brofeldt Date: Tue, 13 Sep 2022 10:29:13 +0300 Subject: [PATCH] add js logic --- .../src/explore/actions/saveModalActions.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/superset-frontend/src/explore/actions/saveModalActions.js b/superset-frontend/src/explore/actions/saveModalActions.js index 2ad6e55490696..929ef56e540ce 100644 --- a/superset-frontend/src/explore/actions/saveModalActions.js +++ b/superset-frontend/src/explore/actions/saveModalActions.js @@ -20,6 +20,8 @@ import { SupersetClient, t } from '@superset-ui/core'; import { addSuccessToast } from 'src/components/MessageToasts/actions'; import { buildV1ChartDataPayload } from '../exploreUtils'; +const ADHOC_FILTER_REGEX = /^adhoc_filters/; + export const FETCH_DASHBOARDS_SUCCEEDED = 'FETCH_DASHBOARDS_SUCCEEDED'; export function fetchDashboardsSucceeded(choices) { return { type: FETCH_DASHBOARDS_SUCCEEDED, choices }; @@ -66,11 +68,16 @@ export const getSlicePayload = ( formDataWithNativeFilters, owners, ) => { + const adhocFilters = Object.entries(formDataWithNativeFilters).reduce( + (acc, [key, value]) => + ADHOC_FILTER_REGEX.test(key) + ? { ...acc, [key]: value?.filter(f => !f.isExtra) } + : acc, + {}, + ); const formData = { ...formDataWithNativeFilters, - adhoc_filters: formDataWithNativeFilters.adhoc_filters?.filter( - f => !f.isExtra, - ), + ...adhocFilters, }; const [datasourceId, datasourceType] = formData.datasource.split('__');