1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
import React, { Fragment, PureComponent } from 'react';
import PropTypes from 'prop-types';
import InputRange from 'react-input-range';
import { withStyles } from '@material-ui/core/styles';
import 'ba-styles/vendors/react-input-range/react-input-range.css';
import { FormControl, Typography, Grid } from '@material-ui/core';
const styles = theme => ({
demo: {
height: 'auto',
},
divider: {
display: 'block',
margin: `${theme.spacing(3)}px 0`,
},
inputRange: {
width: 200,
margin: `${theme.spacing(3)}px 5px`,
}
});
class SliderInput extends PureComponent {
state = {
value: 10,
valueDisabled: 5,
valueDecimal: 16,
}
render() {
const { classes } = this.props;
return (
<Fragment>
<Grid
container
alignItems="flex-start"
justify="space-around"
direction="row"
spacing={2}
>
<Grid
item
md={4}
className={classes.demo}
>
<Typography variant="button" className={classes.divider}>Slider Input Basic</Typography>
<FormControl className={classes.formControl}>
<div className={classes.inputRange}>
<InputRange
maxValue={20}
minValue={0}
value={this.state.value}
onChange={value => this.setState({ value })}
/>
</div>
</FormControl>
</Grid>
<Grid
item
md={4}
className={classes.demo}
>
<Typography variant="button" className={classes.divider}>Slider Input Disabled</Typography>
<FormControl className={classes.formControl}>
<div className={classes.inputRange}>
<InputRange
maxValue={20}
minValue={0}
disabled
value={this.state.valueDisabled}
onChange={value => this.setState({ valueDisabled: value })}
/>
</div>
</FormControl>
</Grid>
<Grid
item
md={4}
className={classes.demo}
>
<Typography variant="button" className={classes.divider}>Formated Value</Typography>
<FormControl className={classes.formControl}>
<div className={classes.inputRange}>
<InputRange
maxValue={20}
minValue={0}
formatLabel={value => value.toFixed(2)}
value={this.state.valueDecimal}
onChange={value => this.setState({ valueDecimal: value })}
/>
</div>
</FormControl>
</Grid>
</Grid>
</Fragment>
);
}
}
SliderInput.propTypes = {
classes: PropTypes.object.isRequired,
};
export default withStyles(styles)(SliderInput);
|