diff --git a/packages/grafana-ui/src/components/Slider/Slider.story.tsx b/packages/grafana-ui/src/components/Slider/Slider.story.tsx index 3dc2fbf4725..d659092e86b 100644 --- a/packages/grafana-ui/src/components/Slider/Slider.story.tsx +++ b/packages/grafana-ui/src/components/Slider/Slider.story.tsx @@ -11,6 +11,7 @@ const getKnobs = () => { return { min: number('min', 0), max: number('max', 100), + step: boolean('enable step', false), orientation: select('orientation', ['horizontal', 'vertical'], 'horizontal'), reverse: boolean('reverse', true), singleValue: boolean('single value', false), @@ -18,10 +19,18 @@ const getKnobs = () => { }; const SliderWrapper = () => { - const { min, max, orientation, reverse, singleValue } = getKnobs(); + const { min, max, orientation, reverse, singleValue, step } = getKnobs(); + const stepValue = step ? 10 : undefined; return (
- +
); }; diff --git a/packages/grafana-ui/src/components/Slider/Slider.tsx b/packages/grafana-ui/src/components/Slider/Slider.tsx index 5b766c5f2a6..f0095930b3b 100644 --- a/packages/grafana-ui/src/components/Slider/Slider.tsx +++ b/packages/grafana-ui/src/components/Slider/Slider.tsx @@ -14,6 +14,7 @@ export interface Props { /** Set current positions of handle(s). If only 1 value supplied, only 1 handle displayed. */ value?: number[]; reverse?: boolean; + step?: number; tooltipAlwaysVisible?: boolean; formatTooltipResult?: (value: number) => number | string; onChange?: (values: number[]) => void; @@ -104,6 +105,7 @@ export const Slider: FunctionComponent = ({ onAfterChange, orientation = 'horizontal', reverse, + step, formatTooltipResult, value, tooltipAlwaysVisible = true, @@ -123,6 +125,7 @@ export const Slider: FunctionComponent = ({ }} min={min} max={max} + step={step} defaultValue={value || [min, max]} tipFormatter={(value: number) => (formatTooltipResult ? formatTooltipResult(value) : value)} onChange={onChange}