import React from 'react'; import PropTypes from 'prop-types'; import { FormGroup, Label, CustomInput } from 'reactstrap'; import { Interpolate, translate } from 'react-i18next'; // need changes: err cannot be removed once triggered function Checkbox({ t, title, hideTitle, name, formGroupClass, required, trueValue, value, disabled, error, description, handleChange }) { function onChange(e) { const { name, checked } = e.target; let oppValue = null; if (typeof trueValue === 'boolean') oppValue = false; else if (typeof trueValue === 'number') oppValue = 0; handleChange(name, checked ? trueValue : oppValue); } return ( {!hideTitle && ( )} {error === true ? ( ) : ( {error} )} ); } Checkbox.defaultProps = { handleChange: () => {}, trueValue: true, disabled: false, hideTitle: false, formGroupClass: '' }; Checkbox.propTypes = { t: PropTypes.func, title: PropTypes.string, name: PropTypes.string.isRequired, type: PropTypes.string, formGroupClass: PropTypes.string, value: PropTypes.bool, hideTitle: PropTypes.bool, trueValue: PropTypes.any, description: PropTypes.any, required: PropTypes.bool, disabled: PropTypes.bool, error: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]), handleChange: PropTypes.func.isRequired }; export default React.memo(translate(['common'], { wait: true })(Checkbox));