public/js/components/FormFields/FormFieldCheckbox.js (23 lines of code) (raw):

import React from 'react'; import {PropTypes} from 'prop-types'; import ShowErrors from '../Utilities/ShowErrors'; import { errorPropType } from '../../constants/errorPropType'; export default class FormFieldCheckbox extends React.Component { static propTypes = { fieldLabel: PropTypes.string, fieldName: PropTypes.string.isRequired, fieldValue: PropTypes.bool.isRequired, fieldErrors: PropTypes.arrayOf(errorPropType), onUpdateField: PropTypes.func.isRequired }; onUpdate = (e) => { this.props.onUpdateField(e.target.checked); }; render() { return ( <div className={'form__ group form__group--checkbox--' + this.props.fieldName}> {this.props.fieldLabel ? <label className="form__label" htmlFor={this.props.fieldName}>{this.props.fieldLabel}</label> : false} <input className="form__checkbox" type="checkbox" checked={this.props.fieldValue} name={this.props.fieldName} value={this.props.fieldValue} onChange={this.onUpdate} /> {!this.props.fieldLabel ? <span className="form__label form__label--checkbox">{this.props.fieldName}</span> : false} <ShowErrors errors={this.props.fieldErrors}/> </div> ); } }