From 969fb9e4e632490c86b7d71cef6755022ec7e0c4 Mon Sep 17 00:00:00 2001 From: Parth Date: Wed, 29 Jun 2022 19:20:05 +0530 Subject: [PATCH] fix(UNT-T8848): fix start circle issue --- src/components/RadialSlider/RadialSlider.tsx | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/components/RadialSlider/RadialSlider.tsx b/src/components/RadialSlider/RadialSlider.tsx index 41c1b7a..c42fe7d 100644 --- a/src/components/RadialSlider/RadialSlider.tsx +++ b/src/components/RadialSlider/RadialSlider.tsx @@ -48,9 +48,10 @@ const RadialSlider = (props: RadialSliderProps & typeof defaultProps) => { leftIconStyle, rightIconStyle, stroke, + onChange = () => {}, } = props; - const { panResponder, value, setValue, curPoint, currentRadian } = + const { panResponder, value, setValue, curPoint, currentRadian, prevValue } = useSilderAnimation(props); const { @@ -74,9 +75,9 @@ const RadialSlider = (props: RadialSliderProps & typeof defaultProps) => { const handleValue = () => { if (iconPosition === 'up' && max > value) { - isStart && setValue((prevState: number) => prevState + step); + isStart && onPressButtons('up'); } else if (iconPosition === 'down' && min < value) { - isStart && setValue((prevState: number) => prevState - step); + isStart && onPressButtons('down'); } }; @@ -103,9 +104,19 @@ const RadialSlider = (props: RadialSliderProps & typeof defaultProps) => { const onPressButtons = (type: string) => { if (type === 'up' && max > value) { - setValue((prevState: number) => prevState + step); + setValue((prevState: number) => { + prevValue.current = prevState + step; + + return prevState + step; + }); + onChange(value); } else if (type === 'down' && min < value) { - setValue((prevState: number) => prevState - step); + setValue((prevState: number) => { + prevValue.current = prevState - step; + + return prevState - step; + }); + onChange(value); } };