diff --git a/docs/faq.rst b/docs/faq.rst index b6f2788e90734..82280ed46bdfe 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -190,3 +190,9 @@ How can i configure OAuth authentication and authorization? You can take a look at this Flask-AppBuilder `configuration example `_. + +How can I set a default filter on my dashboard? +----------------------------------------------- + +Easy. Simply apply the filter and save the dashboard while the filter +is active. diff --git a/superset/assets/javascripts/dashboard/Dashboard.jsx b/superset/assets/javascripts/dashboard/Dashboard.jsx index 7cc7699c44785..2b250186bc107 100644 --- a/superset/assets/javascripts/dashboard/Dashboard.jsx +++ b/superset/assets/javascripts/dashboard/Dashboard.jsx @@ -170,10 +170,6 @@ export function dashboardContainer(dashboard, datasources, userid) { } }, effectiveExtraFilters(sliceId) { - // Don't filter the filter_box itself by preselect_filters - if (this.getSlice(sliceId).formData.viz_type === 'filter_box') { - return []; - } const f = []; const immuneSlices = this.metadata.filter_immune_slices || []; if (sliceId && immuneSlices.includes(sliceId)) { @@ -190,6 +186,10 @@ export function dashboardContainer(dashboard, datasources, userid) { immuneToFields = this.metadata.filter_immune_slice_fields[sliceId]; } for (const filteringSliceId in this.filters) { + if (filteringSliceId == sliceId) { + // Filters applied by the slice don't apply to itself + continue; + } for (const field in this.filters[filteringSliceId]) { if (!immuneToFields.includes(field)) { f.push({