UNPKG

generator-bingo-dig-h5

Version:

Bingo-dig-h5 generator by BINGO.DIG

68 lines (55 loc) 1.75 kB
var React = require('react'); var EnhancedSwitch = require('./enhanced-switch'); var Classable = require('../mixins/classable'); var CheckboxOutline = require('./svg-icons/toggle-check-box-outline-blank'); var CheckboxChecked = require('./svg-icons/toggle-check-box-checked'); var Checkbox = React.createClass({ mixins: [Classable], propTypes: { onCheck: React.PropTypes.func, name: React.PropTypes.string, value: React.PropTypes.string, label: React.PropTypes.string, disabled: React.PropTypes.bool, defaultChecked: React.PropTypes.bool, labelPosition: React.PropTypes.oneOf(['left', 'right']) }, render: function() { var { onCheck, ...other } = this.props; var classes = this.getClasses("dig-checkbox"); var checkboxElement = ( <div> <CheckboxOutline className="dig-checkbox-box" /> <CheckboxChecked className="dig-checkbox-check" /> </div> ); var enhancedSwitchProps = { ref: "enhancedSwitch", inputType: "checkbox", switchElement: checkboxElement, className: classes, iconClassName: "dig-checkbox-icon", onSwitch: this._handleCheck, defaultSwitched: this.props.defaultChecked, labelPosition: (this.props.labelPosition) ? this.props.labelPosition : "right" }; return ( <EnhancedSwitch {...other} {...enhancedSwitchProps}/> ); }, isChecked: function() { return this.refs.enhancedSwitch.isSwitched(); }, setChecked: function(newCheckedValue) { this.refs.enhancedSwitch.setSwitched(newCheckedValue); }, _handleCheck: function(e, isInputChecked) { if (this.props.onCheck) this.props.onCheck(e, isInputChecked); } }); module.exports = Checkbox;