From 92a66921e051dd47cf892e614f3703618675951f Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" <70410625+michael-s-molina@users.noreply.github.com> Date: Mon, 12 Apr 2021 20:28:06 -0300 Subject: [PATCH] refactor: Bootstrap to AntD - Slider (#13989) --- .../index.jsx => Slider/Slider.stories.tsx} | 47 +++++++++++++++---- .../index.tsx} | 14 +++--- .../components/controls/SliderControl.jsx | 15 ++---- 3 files changed, 49 insertions(+), 27 deletions(-) rename superset-frontend/src/components/{BootstrapSliderWrapper/index.jsx => Slider/Slider.stories.tsx} (56%) rename superset-frontend/src/components/{BootstrapSliderWrapper/BootstrapSliderWrapper.less => Slider/index.tsx} (71%) diff --git a/superset-frontend/src/components/BootstrapSliderWrapper/index.jsx b/superset-frontend/src/components/Slider/Slider.stories.tsx similarity index 56% rename from superset-frontend/src/components/BootstrapSliderWrapper/index.jsx rename to superset-frontend/src/components/Slider/Slider.stories.tsx index 5d2a5c8da13a1..e5eea76304aa8 100644 --- a/superset-frontend/src/components/BootstrapSliderWrapper/index.jsx +++ b/superset-frontend/src/components/Slider/Slider.stories.tsx @@ -17,14 +17,41 @@ * under the License. */ import React from 'react'; -import ReactBootstrapSlider from 'react-bootstrap-slider'; -import 'bootstrap-slider/dist/css/bootstrap-slider.min.css'; -import './BootstrapSliderWrapper.less'; +import Slider, { SliderSingleProps } from '.'; -export default function BootstrapSliderWrapper(props) { - return ( - - - - ); -} +export default { + title: 'Slider', + component: Slider, +}; + +export const InteractiveSlider = (args: SliderSingleProps) => ( + +); + +InteractiveSlider.args = { + min: 0, + max: 100, + defaultValue: 70, + step: 1, +}; + +InteractiveSlider.argTypes = { + onChange: { action: 'onChange' }, + disabled: { + control: { type: 'boolean' }, + }, + reverse: { + control: { type: 'boolean' }, + }, + vertical: { + control: { type: 'boolean' }, + }, +}; + +InteractiveSlider.story = { + parameters: { + knobs: { + disable: true, + }, + }, +}; diff --git a/superset-frontend/src/components/BootstrapSliderWrapper/BootstrapSliderWrapper.less b/superset-frontend/src/components/Slider/index.tsx similarity index 71% rename from superset-frontend/src/components/BootstrapSliderWrapper/BootstrapSliderWrapper.less rename to superset-frontend/src/components/Slider/index.tsx index afc9bac586bfc..904833e174f84 100644 --- a/superset-frontend/src/components/BootstrapSliderWrapper/BootstrapSliderWrapper.less +++ b/superset-frontend/src/components/Slider/index.tsx @@ -16,12 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -@import '../../../stylesheets/less/variables.less'; +import React from 'react'; +import AntDSlider, { + SliderSingleProps, + SliderRangeProps, +} from 'antd/lib/slider'; -.BootstrapSliderWrapper .slider-selection { - background: @gray-bg; -} +export { SliderSingleProps, SliderRangeProps }; -.BootstrapSliderWrapper .slider-handle { - background: @gray-light; +export default function Slider(props: SliderSingleProps | SliderRangeProps) { + return ; } diff --git a/superset-frontend/src/explore/components/controls/SliderControl.jsx b/superset-frontend/src/explore/components/controls/SliderControl.jsx index c23d1c913067c..3823c91ce9a11 100644 --- a/superset-frontend/src/explore/components/controls/SliderControl.jsx +++ b/superset-frontend/src/explore/components/controls/SliderControl.jsx @@ -18,8 +18,7 @@ */ import React from 'react'; import PropTypes from 'prop-types'; - -import BootstrapSliderWrapper from 'src/components/BootstrapSliderWrapper'; +import Slider from 'src/components/Slider'; import ControlHeader from 'src/explore/components/ControlHeader'; const propTypes = { @@ -32,17 +31,11 @@ const defaultProps = { }; export default function SliderControl(props) { - // This wouldn't be necessary but might as well return ( -
+ <> - { - props.onChange(obj.target.value); - }} - /> -
+ + ); }