1
0
mirror of https://github.com/Pomax/BezierInfo-2.git synced 2025-08-03 07:18:17 +02:00
Files
BezierInfo-2/components/SliderSet.jsx
Pomax f4e9f77f9c reset buttons for all graphics (#230)
* reset buttons for all graphics

* resetting

* .

* build

* build
2020-01-05 11:57:46 -08:00

44 lines
1004 B
JavaScript

var React = require("react");
class SliderSet extends React.Component {
constructor(props) {
super(props);
this.setOptions(props.options);
}
render(props) {
props = props || {};
var min = props.min || 0;
var max = props.max || 1;
var step = props.step || (max-min) / 100;
var rows = this.options;
var sliders = rows.map( (v,i) => {
return (
<div>
<label>t<sub>{ i }</sub></label>
<input
type="range"
key={`row${i}`}
min={min}
max={max}
defaultValue={v}
step={step}
onChange={e => {
this.options[i] = e.target.value;
props.onChange(i, this.options);
}} />
<span>{ parseFloat(v).toFixed(2) }</span>
</div>
);
});
return <div>{ sliders }</div>;
}
setOptions(options, labels) {
this.options = options || [];
this.forceUpdate();
}
}
module.exports = SliderSet;