diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx index 511890b4c2357..2eca4e8b96f0a 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx @@ -62,7 +62,10 @@ import ControlItems from './ControlItems'; import FilterScope from './FilterScope/FilterScope'; import RemovedFilter from './RemovedFilter'; import DefaultValue from './DefaultValue'; -import { getFiltersConfigModalTestId } from '../FiltersConfigModal'; +import { + CASCADING_FILTERS, + getFiltersConfigModalTestId, +} from '../FiltersConfigModal'; // TODO: move styles from AdhocFilterControl to emotion and delete this ./main.less import './main.less'; @@ -174,6 +177,8 @@ export const FiltersConfigForm: React.FC = ({ formFilter?.filterType, ); + const isCascadingFilter = CASCADING_FILTERS.includes(formFilter?.filterType); + const isDataDirty = formFilter?.isDataDirty ?? true; useBackendFormUpdate(form, filterId); @@ -405,20 +410,22 @@ export const FiltersConfigForm: React.FC = ({ hidden initialValue={null} /> - {t('Parent filter')}} - initialValue={parentFilterOptions.find( - ({ value }) => value === filterToEdit?.cascadeParentIds[0], - )} - data-test="parent-filter-input" - > - + + )} }> {hasDataset && hasFilledDataset && ( diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigModal.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigModal.tsx index 2100ef6182836..d19538c421c9b 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigModal.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigModal.tsx @@ -62,6 +62,7 @@ export interface FiltersConfigModalProps { onSave: (filterConfig: FilterConfiguration) => Promise; onCancel: () => void; } +export const CASCADING_FILTERS = ['filter_select']; /** * This is the modal to configure all the dashboard-native filters. @@ -170,6 +171,9 @@ export function FiltersConfigModal({ const getParentFilters = (id: string) => filterIds .filter(filterId => filterId !== id && !removedFilters[filterId]) + .filter(filterId => + CASCADING_FILTERS.includes(formValues.filters[filterId]?.filterType), + ) .map(id => ({ id, title: getFilterTitle(id),