From a1fa4bc6061ed1063501a3d3b6ea91898821c4a4 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Thu, 20 Sep 2018 22:02:28 -0700 Subject: [PATCH] [deck_polygon] implement null locations flag (#5948) * [deck_polygon] implement null locations flag * Fix unrelated JS test issue --- .../spec/javascripts/sqllab/TableElement_spec.jsx | 1 - superset/assets/src/explore/controls.jsx | 10 ---------- superset/viz.py | 11 ++++++++--- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/superset/assets/spec/javascripts/sqllab/TableElement_spec.jsx b/superset/assets/spec/javascripts/sqllab/TableElement_spec.jsx index 69adf09ac2b69..6d683d3388ec1 100644 --- a/superset/assets/spec/javascripts/sqllab/TableElement_spec.jsx +++ b/superset/assets/spec/javascripts/sqllab/TableElement_spec.jsx @@ -54,6 +54,5 @@ describe('TableElement', () => { wrapper.find('.table-remove').simulate('click'); expect(wrapper.state().expanded).to.equal(false); expect(mockedActions.removeDataPreview.called).to.equal(true); - expect(mockedActions.removeTable.called).to.equal(true); }); }); diff --git a/superset/assets/src/explore/controls.jsx b/superset/assets/src/explore/controls.jsx index 86ac9f5cbbbd4..15b04602df52b 100644 --- a/superset/assets/src/explore/controls.jsx +++ b/superset/assets/src/explore/controls.jsx @@ -712,16 +712,6 @@ export const controls = { }), }, - polygon: { - type: 'SelectControl', - label: t('Polygon Column'), - validators: [v.nonEmpty], - description: t('Select the polygon column. Each row should contain JSON.array(N) of [longitude, latitude] points'), - mapStateToProps: state => ({ - choices: (state.datasource) ? state.datasource.all_cols : [], - }), - }, - point_radius_scale: { type: 'SelectControl', freeForm: true, diff --git a/superset/viz.py b/superset/viz.py index 46cd158369a49..a714546a7618e 100644 --- a/superset/viz.py +++ b/superset/viz.py @@ -2135,13 +2135,18 @@ def process_spatial_data_obj(self, key, df): return df def add_null_filters(self): + fd = self.form_data spatial_columns = set() for key in self.spatial_control_keys: for column in self.get_spatial_columns(key): spatial_columns.add(column) - if self.form_data.get('adhoc_filters') is None: - self.form_data['adhoc_filters'] = [] + if fd.get('adhoc_filters') is None: + fd['adhoc_filters'] = [] + + line_column = fd.get('line_column') + if line_column: + spatial_columns.add(line_column) for column in sorted(spatial_columns): filter_ = to_adhoc({ @@ -2149,7 +2154,7 @@ def add_null_filters(self): 'op': 'IS NOT NULL', 'val': '', }) - self.form_data['adhoc_filters'].append(filter_) + fd['adhoc_filters'].append(filter_) def query_obj(self): fd = self.form_data