From 1d3c93ccb24100a17be89cd942249c89777266f8 Mon Sep 17 00:00:00 2001 From: Grace Guo Date: Thu, 12 Dec 2019 11:01:18 -0800 Subject: [PATCH] [filter_box] dashboard should carry defaultValue in filter_box (#8812) --- .../util/getFilterConfigsFromFormdata_spec.js | 20 +++++++++++++++++++ .../util/getFilterConfigsFromFormdata.js | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/superset/assets/spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js b/superset/assets/spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js index 71134aef73..636727b0d9 100644 --- a/superset/assets/spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js +++ b/superset/assets/spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js @@ -20,6 +20,16 @@ import getFilterConfigsFromFormdata from '../../../../src/dashboard/util/getFilt describe('getFilterConfigsFromFormdata', () => { const testFormdata = { + filter_configs: [ + { + asc: true, + clearable: true, + column: 'state', + defaultValue: 'CA', + key: 'fvwncPjUf', + multiple: true, + }, + ], date_filter: true, granularity_sqla: '__time', time_grain_sqla: 'P1M', @@ -45,4 +55,14 @@ describe('getFilterConfigsFromFormdata', () => { __time_col: testFormdata.granularity_sqla, }); }); + + it('should use default value from form_data', () => { + const result = getFilterConfigsFromFormdata({ + ...testFormdata, + show_sqla_time_column: true, + }); + expect(result.columns).toMatchObject({ + state: 'CA', + }); + }); }); diff --git a/superset/assets/src/dashboard/util/getFilterConfigsFromFormdata.js b/superset/assets/src/dashboard/util/getFilterConfigsFromFormdata.js index c8caeb3a34..87efbc8068 100644 --- a/superset/assets/src/dashboard/util/getFilterConfigsFromFormdata.js +++ b/superset/assets/src/dashboard/util/getFilterConfigsFromFormdata.js @@ -33,7 +33,7 @@ export default function getFilterConfigsFromFormdata(form_data = {}) { ({ columns, labels }, config) => { const updatedColumns = { ...columns, - [config.column]: config.vals, + [config.column]: config.vals || config.defaultValue, }; const updatedLabels = { ...labels,