diff --git a/superset/assets/javascripts/explore/components/Control.jsx b/superset/assets/javascripts/explore/components/Control.jsx index 6f261167d..cd9e732df 100644 --- a/superset/assets/javascripts/explore/components/Control.jsx +++ b/superset/assets/javascripts/explore/components/Control.jsx @@ -1,6 +1,5 @@ import React from 'react'; import PropTypes from 'prop-types'; -import ControlHeader from './ControlHeader'; import CheckboxControl from './controls/CheckboxControl'; import FilterControl from './controls/FilterControl'; @@ -90,13 +89,6 @@ export default class Control extends React.PureComponent { const divStyle = this.props.hidden ? { display: 'none' } : null; return (
- 0); return (
@@ -64,6 +65,9 @@ export default function ControlHeader({ {' '} } + {leftNode && + {leftNode} + }
{rightNode && diff --git a/superset/assets/javascripts/explore/components/controls/CheckboxControl.jsx b/superset/assets/javascripts/explore/components/controls/CheckboxControl.jsx index a32926d56..bb5d2ce74 100644 --- a/superset/assets/javascripts/explore/components/controls/CheckboxControl.jsx +++ b/superset/assets/javascripts/explore/components/controls/CheckboxControl.jsx @@ -1,6 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Checkbox } from 'react-bootstrap'; +import ControlHeader from '../ControlHeader'; const propTypes = { name: PropTypes.string.isRequired, @@ -21,9 +22,14 @@ export default class CheckboxControl extends React.Component { } render() { return ( - + } /> ); } diff --git a/superset/assets/javascripts/explore/components/controls/Filter.jsx b/superset/assets/javascripts/explore/components/controls/Filter.jsx index afa63423d..bcb0eb924 100644 --- a/superset/assets/javascripts/explore/components/controls/Filter.jsx +++ b/superset/assets/javascripts/explore/components/controls/Filter.jsx @@ -94,6 +94,7 @@ export default class Filter extends React.Component { renderFilterFormControl(filter) { const operator = operators[filter.op]; if (operator.useSelect && !this.props.having) { + // TODO should use a simple Select, not a control here... return ( ); } diff --git a/superset/assets/javascripts/explore/components/controls/SelectControl.jsx b/superset/assets/javascripts/explore/components/controls/SelectControl.jsx index 19f0727e6..09a7346a4 100644 --- a/superset/assets/javascripts/explore/components/controls/SelectControl.jsx +++ b/superset/assets/javascripts/explore/components/controls/SelectControl.jsx @@ -1,6 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import Select, { Creatable } from 'react-select'; +import ControlHeader from '../ControlHeader'; const propTypes = { choices: PropTypes.array, @@ -13,6 +14,7 @@ const propTypes = { name: PropTypes.string.isRequired, onChange: PropTypes.func, value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]), + showHeader: PropTypes.bool, }; const defaultProps = { @@ -24,6 +26,7 @@ const defaultProps = { label: null, multi: false, onChange: () => {}, + showHeader: true, }; export default class SelectControl extends React.PureComponent { @@ -115,6 +118,9 @@ export default class SelectControl extends React.PureComponent { () : (