diff --git a/superset-frontend/src/dashboard/components/nativeFilters/utils.ts b/superset-frontend/src/dashboard/components/nativeFilters/utils.ts index ef347de4c2..1af395a5d9 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/utils.ts +++ b/superset-frontend/src/dashboard/components/nativeFilters/utils.ts @@ -33,6 +33,14 @@ import extractUrlParams from 'src/dashboard/util/extractUrlParams'; import { isFeatureEnabled } from 'src/featureFlags'; import { CHART_TYPE, TAB_TYPE } from '../../util/componentTypes'; import { DASHBOARD_GRID_ID, DASHBOARD_ROOT_ID } from '../../util/constants'; +import getBootstrapData from '../../../utils/getBootstrapData'; + +const getDefaultRowLimit = (): number => { + const bootstrapData = getBootstrapData(); + const nativeFilterDefaultRowLimit = + bootstrapData?.common?.conf?.NATIVE_FILTER_DEFAULT_ROW_LIMIT; + return nativeFilterDefaultRowLimit || 1000; +}; export const getFormData = ({ datasetId, @@ -75,7 +83,7 @@ export const getFormData = ({ extra_form_data: dependencies, granularity_sqla, metrics: ['count'], - row_limit: 1000, + row_limit: getDefaultRowLimit(), showSearch: true, defaultValue: defaultDataMask?.filterState?.value, time_range, diff --git a/superset/config.py b/superset/config.py index c7c60fed27..f34d99e3cd 100644 --- a/superset/config.py +++ b/superset/config.py @@ -146,6 +146,8 @@ DEFAULT_VIZ_TYPE = "table" ROW_LIMIT = 50000 # default row limit when requesting samples from datasource in explore view SAMPLES_ROW_LIMIT = 1000 +# default row limit for native filters +NATIVE_FILTER_DEFAULT_ROW_LIMIT = 1000 # max rows retrieved by filter select auto complete FILTER_SELECT_ROW_LIMIT = 10000 # default time filter in explore diff --git a/superset/views/base.py b/superset/views/base.py index 793c7e31d4..2d49511882 100644 --- a/superset/views/base.py +++ b/superset/views/base.py @@ -120,6 +120,7 @@ FRONTEND_CONF_KEYS = ( "ALERT_REPORTS_DEFAULT_CRON_VALUE", "ALERT_REPORTS_DEFAULT_RETENTION", "ALERT_REPORTS_DEFAULT_WORKING_TIMEOUT", + "NATIVE_FILTER_DEFAULT_ROW_LIMIT", ) logger = logging.getLogger(__name__)