Skip to content

Commit 55f27da

Browse files
committed
fix(Slider): Removed extra props
1 parent 2ecfd2a commit 55f27da

File tree

1 file changed

+81
-68
lines changed

1 file changed

+81
-68
lines changed

src/components/Slider/Slider.tsx

Lines changed: 81 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Theme, withStyles } from '@material-ui/core';
2+
23
import FormControl from '@material-ui/core/FormControl';
34
import FormHelperText from '@material-ui/core/FormHelperText';
45
import FormLabel from '@material-ui/core/FormLabel';
@@ -9,18 +10,18 @@ import { componentMapper } from '@bluebase/component-mapper';
910

1011
const styles = (theme: Theme): any => ({
1112
helperText: {
12-
marginTop: theme.spacing.unit * 2
13+
marginTop: theme.spacing.unit * 2,
1314
},
1415
inlineSlider: {
1516
display: 'flex',
1617
flex: 1,
1718
},
1819
inlineValue: {
19-
marginLeft: theme.spacing.unit * 2
20+
marginLeft: theme.spacing.unit * 2,
2021
},
2122
label: {
2223
flex: 1,
23-
marginBottom: theme.spacing.unit * 2
24+
marginBottom: theme.spacing.unit * 2,
2425
},
2526
labelWrapper: {
2627
display: 'flex',
@@ -32,81 +33,93 @@ const styles = (theme: Theme): any => ({
3233
flex: 1,
3334
},
3435
value: {
35-
marginBottom: theme.spacing.unit * 2
36+
marginBottom: theme.spacing.unit * 2,
3637
},
3738
});
3839

39-
export const Slider = withStyles(styles)(componentMapper<SliderProps>(MUISlider, {
40+
export const Slider = withStyles(styles)(
41+
componentMapper<SliderProps>(
42+
MUISlider,
43+
{
44+
max: 'maximumValue',
45+
min: 'minimumValue',
4046

41-
max: 'maximumValue',
42-
min: 'minimumValue',
47+
onChange: ({ onChange, onValueChange }: any) => (event: any, value: number) => {
48+
if (onChange) {
49+
onChange(event, value);
50+
}
4351

44-
onChange: ({ onChange, onValueChange }: any) => (event: any, value: number) => {
45-
if (onChange) {
46-
onChange(event, value);
47-
}
52+
if (onValueChange) {
53+
onValueChange(value);
54+
}
55+
},
4856

49-
if (onValueChange) {
50-
onValueChange(value);
51-
}
52-
}
57+
classes: 'classes',
58+
disabled: 'disabled',
59+
error: 'error',
60+
helperText: 'helperText',
61+
id: 'id',
62+
label: 'label',
63+
name: 'name',
64+
required: 'required',
65+
showValue: 'showValue',
66+
step: 'step',
67+
value: 'value',
68+
},
69+
{
70+
render(newProps: any, Component: any) {
71+
const { error, helperText, id, label, required, classes, showValue, ...props } = newProps;
5372

54-
}, {
55-
ignore: ['onValueChange'],
56-
rest: true,
57-
render(newProps: any, Component: any) {
58-
const {
59-
error,
60-
helperText,
61-
id,
62-
label,
63-
required,
64-
classes,
65-
showValue,
66-
...props
67-
} = newProps;
73+
const formControlProps = {
74+
error,
75+
required,
76+
};
6877

69-
const formControlProps = {
70-
error,
71-
required,
72-
};
78+
// Label
79+
let labelNode: React.ReactNode = null;
7380

74-
// Label
75-
let labelNode: React.ReactNode = null;
76-
77-
// Render a simple label
78-
if (label && !showValue) {
79-
labelNode = <FormLabel className={classes.label} htmlFor={id}>{label}</FormLabel>;
80-
}
81-
// If we have label and show value, then we show value in line with the label
82-
else if (label && showValue) {
83-
labelNode = (
84-
<div className={classes.labelWrapper}>
85-
<FormLabel className={classes.label} htmlFor={id}>{label}</FormLabel>
86-
<FormLabel className={classes.value}>{props.value}</FormLabel>
87-
</div>
88-
);
89-
}
81+
// Render a simple label
82+
if (label && !showValue) {
83+
labelNode = (
84+
<FormLabel className={classes.label} htmlFor={id}>
85+
{label}
86+
</FormLabel>
87+
);
88+
}
89+
// If we have label and show value, then we show value in line with the label
90+
else if (label && showValue) {
91+
labelNode = (
92+
<div className={classes.labelWrapper}>
93+
<FormLabel className={classes.label} htmlFor={id}>
94+
{label}
95+
</FormLabel>
96+
<FormLabel className={classes.value}>{props.value}</FormLabel>
97+
</div>
98+
);
99+
}
90100

101+
let sliderNode = <Component id={id} {...props} />;
91102

92-
let sliderNode = <Component id={id} {...props} />;
103+
// If theres no label then we show value in line with the slider
104+
if (!label && showValue) {
105+
sliderNode = (
106+
<div className={classes.sliderWrapper}>
107+
<div className={classes.inlineSlider}>{sliderNode}</div>
108+
<FormLabel className={classes.inlineValue}>{props.value}</FormLabel>
109+
</div>
110+
);
111+
}
93112

94-
// If theres no label then we show value in line with the slider
95-
if (!label && showValue) {
96-
sliderNode = (
97-
<div className={classes.sliderWrapper}>
98-
<div className={classes.inlineSlider}>{sliderNode}</div>
99-
<FormLabel className={classes.inlineValue}>{props.value}</FormLabel>
100-
</div>
101-
);
113+
return (
114+
<FormControl {...formControlProps}>
115+
{labelNode}
116+
{sliderNode}
117+
{helperText ? (
118+
<FormHelperText className={classes.helperText}>{helperText}</FormHelperText>
119+
) : null}
120+
</FormControl>
121+
);
122+
},
102123
}
103-
104-
return (
105-
<FormControl {...formControlProps}>
106-
{labelNode}
107-
{sliderNode}
108-
{helperText ? <FormHelperText className={classes.helperText}>{helperText}</FormHelperText> : null}
109-
</FormControl>
110-
);
111-
}
112-
})) as React.ComponentType<SliderProps>;
124+
)
125+
) as React.ComponentType<SliderProps>;

0 commit comments

Comments
 (0)