UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

119 lines (89 loc) 3.73 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _withStyles = _interopRequireDefault(require("../styles/withStyles")); var _FormGroup = _interopRequireDefault(require("../FormGroup")); var style = function style(theme) { return {}; }; var CheckboxGroupStandalone = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(CheckboxGroupStandalone, _Component); function CheckboxGroupStandalone() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, CheckboxGroupStandalone); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(CheckboxGroupStandalone)).call.apply(_getPrototypeOf2, [this].concat(args))); _this.checkboxs = []; _this.onChange = function (event, checked) { var value = event.target.value; var v = _this.props.value; var values = v ? v.split(',') : []; if (checked) { values.push(value); } else { values = values.filter(function (v) { return v !== value; }); } _this.props.onChange(event, values.join(',')); }; return _this; } (0, _createClass2.default)(CheckboxGroupStandalone, [{ key: "render", value: function render() { var _this2 = this; var _this$props = this.props, classes = _this$props.classes, value = _this$props.value, name = _this$props.name, children = _this$props.children, onChange = _this$props.onChange, rest = (0, _objectWithoutProperties2.default)(_this$props, ["classes", "value", "name", "children", "onChange"]); this.checkboxs = []; return _react.default.createElement(_FormGroup.default, rest, _react.default.Children.map(children, function (child, index) { if (!_react.default.isValidElement(child)) { return null; } var v = value ? value.split(',') : []; return _react.default.cloneElement(child, { key: index, name: name, inputRef: function inputRef(node) { if (node) { _this2.checkboxs.push(node); } }, checked: v.includes(child.props.value), onChange: _this2.onChange }); })); } }]); return CheckboxGroupStandalone; }(_react.Component); CheckboxGroupStandalone.propTypes = { classes: _propTypes.default.object.isRequired }; CheckboxGroupStandalone.defaultProps = {}; var _default = (0, _withStyles.default)(style, { name: 'RMCheckboxGroupStandalone' })(CheckboxGroupStandalone); exports.default = _default;