All files / src/lib EasyCheckbox.jsx

100% Statements 8/8
50% Branches 1/2
100% Functions 2/2
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41        2x 1x 1x 1x 2x                         1x             2x             2x          
import React from 'react';
import PropTypes from 'prop-types';
import './EasyEdit.css';
 
const EasyCheckbox = (props) => {
  let {options, value, onChange, attributes} = props;
  value = value || [];
  let checkboxes = options.map(option => (
          <label key={option.value} className="easy-edit-checkbox-label">
            <input
                {...attributes}
                type="checkbox"
                className="easy-edit-radio-button"
                value={option.value}
                key={option.value}
                onChange={onChange}
                checked={value.includes(option.value)}
            />{option.label}
          </label>
      )
  );
  return (
      <div>
        {checkboxes}
      </div>
  );
};
 
EasyCheckbox.propTypes = {
  onChange: PropTypes.func,
  options: PropTypes.array.isRequired,
  value: PropTypes.array,
  attributes: PropTypes.object
};
 
EasyCheckbox.defaultProps = {
  attributes: {}
};
 
export default EasyCheckbox;