From 7419a395f13b6d34967c2ce192759d1e89ec56c8 Mon Sep 17 00:00:00 2001 From: Simcha Shats Date: Thu, 23 Jul 2020 14:53:09 +0300 Subject: [PATCH 1/5] fix: show label for filters in filter box in explore --- .../src/explore/components/controls/FilterBoxItemControl.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx b/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx index 3df9ae89aed6a..c4fd230541da5 100644 --- a/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx +++ b/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx @@ -77,11 +77,13 @@ export default class FilterBoxItemControl extends React.Component { clearable, multiple, searchAllOptions, + label, defaultValue, } = props; const state = { column, metric, + label, asc, clearable, multiple, From c12c9ff988cea6052daa7cc8216f3dcc54396183 Mon Sep 17 00:00:00 2001 From: Simcha Shats Date: Thu, 23 Jul 2020 16:35:47 +0300 Subject: [PATCH 2/5] test: add test for label in filter box --- .../explore/components/FilterBoxItemControl_spec.jsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx index 0a7a392707d80..b101de65b7026 100644 --- a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx +++ b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx @@ -26,7 +26,9 @@ import FilterBoxItemControl from 'src/explore/components/controls/FilterBoxItemC import FormRow from 'src/components/FormRow'; import datasources from '../../../fixtures/mockDatasource'; +const TEST_LABEL = 'some label'; const defaultProps = { + label: TEST_LABEL, datasource: datasources['7__table'], onChange: sinon.spy(), }; @@ -51,6 +53,9 @@ describe('FilterBoxItemControl', () => { it('renderForms does the job', () => { const popover = shallow(inst.renderForm()); expect(popover.find(FormRow)).toHaveLength(8); + expect(popover.find(FormRow).get(1).props.control.props.value).toEqual( + TEST_LABEL, + ); }); it('convert type for single value filter_box', () => { From 9426ed03ae392c092c7ba367d27a5e6c576b6b04 Mon Sep 17 00:00:00 2001 From: Simcha Shats Date: Sun, 26 Jul 2020 08:23:01 +0300 Subject: [PATCH 3/5] test: add test / fix lint --- .../explore/components/FilterBoxItemControl_spec.jsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx index b101de65b7026..33d81a32c67d9 100644 --- a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx +++ b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx @@ -53,9 +53,6 @@ describe('FilterBoxItemControl', () => { it('renderForms does the job', () => { const popover = shallow(inst.renderForm()); expect(popover.find(FormRow)).toHaveLength(8); - expect(popover.find(FormRow).get(1).props.control.props.value).toEqual( - TEST_LABEL, - ); }); it('convert type for single value filter_box', () => { From a0502f75ea285bf6c5217a2b760a541efd41815c Mon Sep 17 00:00:00 2001 From: Simcha Shats Date: Sun, 2 Aug 2020 12:04:02 +0300 Subject: [PATCH 4/5] fix: fix CR notes --- .../components/FilterBoxItemControl_spec.jsx | 6 +- .../components/controls/CollectionControl.jsx | 58 ++++++++++--------- 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx index ab35b84bbb6ae..d5300256dc219 100644 --- a/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx +++ b/superset-frontend/spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx @@ -26,9 +26,8 @@ import FilterBoxItemControl from 'src/explore/components/controls/FilterBoxItemC import FormRow from 'src/components/FormRow'; import datasources from '../../../fixtures/mockDatasource'; -const TEST_LABEL = 'some label'; const defaultProps = { - label: TEST_LABEL, + label: 'some label', datasource: datasources['7__table'], onChange: sinon.spy(), }; @@ -53,6 +52,9 @@ describe('FilterBoxItemControl', () => { it('renderForms does the job', () => { const popover = shallow(inst.renderForm()); expect(popover.find(FormRow)).toHaveLength(8); + expect(popover.find(FormRow).get(1).props.control.props.value).toEqual( + 'some label', + ); }); it('convert type for single value filter_box', () => { diff --git a/superset-frontend/src/explore/components/controls/CollectionControl.jsx b/superset-frontend/src/explore/components/controls/CollectionControl.jsx index cdc630356b96f..0a19864e32fcc 100644 --- a/superset-frontend/src/explore/components/controls/CollectionControl.jsx +++ b/superset-frontend/src/explore/components/controls/CollectionControl.jsx @@ -92,33 +92,37 @@ export default class CollectionControl extends React.Component { lockAxis="y" onSortEnd={this.onSortEnd.bind(this)} > - {this.props.value.map((o, i) => ( - -
- -
-
- -
-
- -
-
- ))} + {this.props.value.map((o, i) => { + // label relevant only for header, not here + const { label, ...commonProps } = this.props; + return ( + +
+ +
+
+ +
+
+ +
+
+ ); + })} ); } From 7a742a26e60163b0a65387c579a62d077f651208 Mon Sep 17 00:00:00 2001 From: Simcha Shats Date: Wed, 5 Aug 2020 08:24:18 +0300 Subject: [PATCH 5/5] refactor: add label propType to FilterBoxItemControl.jsx --- .../src/explore/components/controls/FilterBoxItemControl.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx b/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx index c4fd230541da5..8e4b21e8a9f8e 100644 --- a/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx +++ b/superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx @@ -52,6 +52,7 @@ const propTypes = { clearable: PropTypes.bool, multiple: PropTypes.bool, column: PropTypes.string, + label: PropTypes.string, metric: PropTypes.string, searchAllOptions: PropTypes.bool, defaultValue: PropTypes.string,