mirror of
https://github.com/ascribe/onion.git
synced 2024-11-15 17:45:10 +01:00
509aa111ab
Conflicts: gulpfile.js added notifications cleaned up proptypes
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
import React from 'react';
|
|
|
|
import AlertMixin from '../../mixins/alert_mixin';
|
|
|
|
let InputCheckbox = React.createClass({
|
|
propTypes: {
|
|
submitted: React.PropTypes.bool.isRequired,
|
|
required: React.PropTypes.string.isRequired,
|
|
label: React.PropTypes.string.isRequired
|
|
},
|
|
|
|
mixins: [AlertMixin],
|
|
|
|
getInitialState() {
|
|
return {
|
|
value: null,
|
|
alerts: null // needed in AlertMixin
|
|
};
|
|
},
|
|
|
|
handleChange(event) {
|
|
this.setState({value: event.target.value});
|
|
},
|
|
|
|
render() {
|
|
let alerts = (this.props.submitted) ? null : this.state.alerts;
|
|
return (
|
|
<div className="form-group">
|
|
{alerts}
|
|
<div className="input-checkbox-ascribe">
|
|
<div className="checkbox">
|
|
<label>
|
|
<input
|
|
type="checkbox"
|
|
required={this.props.required}
|
|
onChange={this.handleChange}
|
|
/>
|
|
{this.props.label}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
|
|
}
|
|
});
|
|
|
|
export default InputCheckbox; |