UNPKG

@pubsweet/ui

Version:

React component library for use in pubsweet apps

43 lines (34 loc) 976 B
import React from 'react' import { Checkbox, Flexbox } from '../atoms' class CheckboxGroup extends React.Component { handleChange = event => { const values = this.props.value ? Array.from(this.props.value) : [] const { value } = event.target if (event.target.checked) { values.push(value) } else { values.splice(values.indexOf(value), 1) } this.props.onChange(values) } render() { const { value, inline, name, options, required } = this.props return ( <Flexbox column={!inline}> {options.map(option => ( <Checkbox checked={Array.isArray(value) && value.includes(option.value)} inline={inline} key={option.value} label={option.label} name={name} onChange={this.handleChange} required={required} value={option.value} /> ))} </Flexbox> ) } } export default CheckboxGroup