Skip to content

Commit 5539323

Browse files
committed
ui-core: allow slider to be updated front the outside
Signed-off-by: Valentin Chanas <[email protected]>
1 parent f3bb01f commit 5539323

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

ui-core/src/components/inputs/Slider.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from 'react';
1+
import React, { useEffect, useState } from 'react';
22
import type { ChangeEvent, MouseEvent, InputHTMLAttributes } from 'react';
33

44
import cx from 'classnames';
@@ -19,12 +19,17 @@ const Slider = ({
1919
onChange,
2020
onChangeCommitted,
2121
disabled,
22+
className,
2223
...rest
2324
}: SliderProps) => {
2425
const [value, setValue] = useState<number>(
2526
initialValue !== undefined ? Number(initialValue) : Number(min)
2627
);
2728

29+
useEffect(() => {
30+
setValue(Number(initialValue));
31+
}, [initialValue]);
32+
2833
const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
2934
const newValue = Number(e.target.value);
3035
setValue(newValue);
@@ -38,7 +43,7 @@ const Slider = ({
3843
};
3944

4045
return (
41-
<div className={cx('range-wrapper', { disabled })} style={{ width: `${width}px` }}>
46+
<div className={cx('range-wrapper', className, { disabled })} style={{ width: `${width}px` }}>
4247
<input
4348
type="range"
4449
className="range-slider"

ui-core/src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export { default as RadioGroup, RadioGroupProps } from './components/inputs/Radi
2424
export { default as Select, SelectProps } from './components/Select';
2525
export { default as TextArea, TextAreaProps } from './components/inputs/TextArea';
2626
export { default as TimePicker } from './components/inputs/TimePicker';
27+
export { default as Slider } from './components/inputs/Slider';
2728
export {
2829
default as TolerancePicker,
2930
type TolerancePickerProps,

0 commit comments

Comments
 (0)