[dashboard] clean up usage for old filter immune metadata (#9146)

* [dashboard] clean up usage for filter_immune metadata

* add fix per comment
This commit is contained in:
Grace Guo 2020-02-19 09:58:34 -08:00 committed by GitHub
parent 38f3fd0c9f
commit c1750af54a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 27 deletions

View File

@ -19,10 +19,7 @@
export default {
id: 1234,
slug: 'dashboardSlug',
metadata: {
filterImmuneSlices: [],
filterImmuneSliceFields: {},
},
metadata: {},
userId: 'mock_user_id',
dash_edit_perm: true,
dash_save_perm: true,

View File

@ -101,9 +101,6 @@ export default function(bootstrapData) {
let newSlicesContainer;
let newSlicesContainerWidth = 0;
const filterImmuneSliceFields =
dashboard.metadata.filter_immune_slice_fields || {};
const filterImmuneSlices = dashboard.metadata.filter_immune_slices || [];
const filterScopes = dashboard.metadata.filter_scopes || {};
const chartQueries = {};
@ -188,8 +185,6 @@ export default function(bootstrapData) {
});
}
// backward compatible:
// merge scoped filter settings with old global immune settings
const scopesByChartId = Object.keys(columns).reduce((map, column) => {
const scopeSettings = {
...filterScopes[key],
@ -198,20 +193,12 @@ export default function(bootstrapData) {
...DASHBOARD_FILTER_SCOPE_GLOBAL,
...scopeSettings[column],
};
const immuneChartIds = new Set(filterImmuneSlices);
Object.keys(filterImmuneSliceFields)
.filter(strChartId =>
filterImmuneSliceFields[strChartId].includes(column),
)
.forEach(strChartId => {
immuneChartIds.add(parseInt(strChartId, 10));
});
return {
...map,
[column]: {
scope,
immune: [...immuneChartIds].concat(immune),
immune,
},
};
}, {});

View File

@ -1263,16 +1263,8 @@ class Superset(BaseSupersetView):
if "timed_refresh_immune_slices" not in md:
md["timed_refresh_immune_slices"] = []
if "filter_scopes" in data:
md.pop("filter_immune_slices", None)
md.pop("filter_immune_slice_fields", None)
md["filter_scopes"] = json.loads(data.get("filter_scopes", "{}"))
else:
if "filter_immune_slices" not in md:
md["filter_immune_slices"] = []
if "filter_immune_slice_fields" not in md:
md["filter_immune_slice_fields"] = {}
md["filter_scopes"] = json.loads(data["filter_scopes"] or "{}")
md["expanded_slices"] = data["expanded_slices"]
md["refresh_frequency"] = data.get("refresh_frequency", 0)
default_filters_data = json.loads(data.get("default_filters", "{}"))