diff --git a/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts b/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts index ca9ea58bbf31a..984c84df122c5 100644 --- a/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts +++ b/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts @@ -628,7 +628,8 @@ describe('Native filters', () => { it('Verify setting options and tooltips for value filter', () => { enterNativeFilterEditModal(false); cy.contains('Filter value is required').should('be.visible').click(); - checkNativeFilterTooltip(0, nativeFilterTooltips.defaultValue); + checkNativeFilterTooltip(0, nativeFilterTooltips.preFilter); + checkNativeFilterTooltip(1, nativeFilterTooltips.defaultValue); cy.get(nativeFilters.modal.container).should('be.visible'); valueNativeFilterOptions.forEach(el => { cy.contains(el); @@ -637,10 +638,10 @@ describe('Native filters', () => { cy.get( nativeFilters.filterConfigurationSections.checkedCheckbox, ).contains('Can select multiple values'); - checkNativeFilterTooltip(1, nativeFilterTooltips.required); - checkNativeFilterTooltip(2, nativeFilterTooltips.defaultToFirstItem); - checkNativeFilterTooltip(3, nativeFilterTooltips.searchAllFilterOptions); - checkNativeFilterTooltip(4, nativeFilterTooltips.inverseSelection); + checkNativeFilterTooltip(2, nativeFilterTooltips.required); + checkNativeFilterTooltip(3, nativeFilterTooltips.defaultToFirstItem); + checkNativeFilterTooltip(4, nativeFilterTooltips.searchAllFilterOptions); + checkNativeFilterTooltip(5, nativeFilterTooltips.inverseSelection); clickOnAddFilterInModal(); cy.contains('Values are dependent on other filters').should('exist'); }); diff --git a/superset-frontend/cypress-base/cypress/integration/dashboard/utils.ts b/superset-frontend/cypress-base/cypress/integration/dashboard/utils.ts index 29f1e1c2645b3..716bdfa6da86a 100644 --- a/superset-frontend/cypress-base/cypress/integration/dashboard/utils.ts +++ b/superset-frontend/cypress-base/cypress/integration/dashboard/utils.ts @@ -85,6 +85,7 @@ export const nativeFilterTooltips = { multipleSelect: 'Allow selecting multiple values', defaultValue: 'Default value must be set when "Filter value is required" is checked', + preFilter: `Add filter clauses to control the filter's source query, though only in the context of the autocomplete i.e., these conditions do not impact how the filter is applied to the dashboard. This is useful when you want to improve the query's performance by only scanning a subset of the underlying data or limit the available values displayed in the filter.`, }; export const nativeFilterOptions = [ 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 6a61baa2b76e8..8015e85d53c18 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx @@ -913,6 +913,11 @@ const FiltersConfigForm = ( { formChanged(); if (checked) {