UNPKG

1.07 kBJSXView Raw
1// wrapper around react-tangle, with a label
2
3var React = require("react");
4var PropTypes = React.PropTypes;
5var TangleText = require("react-tangle");
6
7var LabelledTangle = React.createClass({
8
9 propTypes: {
10 className: PropTypes.string,
11 onChange: PropTypes.func,
12 onInput: PropTypes.func,
13 min: PropTypes.number,
14 max: PropTypes.number,
15 pixelDistance: PropTypes.number,
16 step: PropTypes.number,
17 value: PropTypes.number.isRequired
18 },
19
20 getDefaultProps: function() {
21 return {
22 pixelDistance: 10,
23 step: 1
24 };
25 },
26
27 render: function() {
28 return (
29 <div className={["cb-labelled-tangle", this.props.className].join(" ")}>
30 <label className={this.props.labelClass}>{this.props.label}</label>
31 <TangleText
32 className={["cb-tangle", this.props.tangleClass].join(" ")}
33 onChange={this.props.onChange}
34 onInput={this.props.onInput}
35 min={this.props.min}
36 max={this.props.max}
37 step={this.props.step}
38 value={this.props.value}
39 pixelDistance={this.props.pixelDistance}
40 />
41 </div>
42 );
43 }
44});
45
46module.exports = LabelledTangle;