UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

165 lines (131 loc) 5.74 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _isEqual = _interopRequireDefault(require("lodash/isEqual")); var _checkbox = _interopRequireDefault(require("../rc-components/checkbox")); var _CheckboxContext = _interopRequireDefault(require("./CheckboxContext")); function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } var Checkbox = /*#__PURE__*/ function (_Component) { (0, _inherits2["default"])(Checkbox, _Component); var _super = _createSuper(Checkbox); function Checkbox() { var _this; (0, _classCallCheck2["default"])(this, Checkbox); _this = _super.apply(this, arguments); _this.saveCheckbox = function (node) { _this.rcCheckbox = node; }; return _this; } (0, _createClass2["default"])(Checkbox, [{ key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState, nextContext) { var _this$context = this.context, checkboxGroup = _this$context.checkboxGroup, getPrefixCls = _this$context.getPrefixCls; return !(0, _isEqual["default"])(this.props, nextProps) || !(0, _isEqual["default"])(this.state, nextState) || !(0, _isEqual["default"])(checkboxGroup, nextContext.checkboxGroup) || getPrefixCls !== nextContext.getPrefixCls; } }, { key: "focus", value: function focus() { this.rcCheckbox.focus(); } }, { key: "blur", value: function blur() { this.rcCheckbox.blur(); } }, { key: "render", value: function render() { var props = this.props, context = this.context; var customizePrefixCls = props.prefixCls, className = props.className, children = props.children, indeterminate = props.indeterminate, style = props.style, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, restProps = (0, _objectWithoutProperties2["default"])(props, ["prefixCls", "className", "children", "indeterminate", "style", "onMouseEnter", "onMouseLeave"]); var checkboxGroup = context.checkboxGroup, getPrefixCls = context.getPrefixCls; var prefixCls = getPrefixCls('checkbox', customizePrefixCls); var checkboxProps = (0, _objectSpread2["default"])({}, restProps); if (checkboxGroup) { checkboxProps.onChange = function () { return checkboxGroup.toggleOption({ label: children, value: props.value }); }; checkboxProps.checked = checkboxGroup.value.indexOf(props.value) !== -1; checkboxProps.disabled = props.disabled || checkboxGroup.disabled; } var classString = (0, _classnames["default"])(className, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-wrapper"), true)); var checkboxClass = (0, _classnames["default"])((0, _defineProperty2["default"])({}, "".concat(prefixCls, "-indeterminate"), indeterminate)); return _react["default"].createElement("label", { className: classString, style: style, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, _react["default"].createElement(_checkbox["default"], (0, _extends2["default"])({}, checkboxProps, { prefixCls: prefixCls, className: checkboxClass, ref: this.saveCheckbox })), children !== undefined ? _react["default"].createElement("span", null, children) : null); } }], [{ key: "contextType", get: function get() { return _CheckboxContext["default"]; } }]); return Checkbox; }(_react.Component); exports["default"] = Checkbox; Checkbox.displayName = 'Checkbox'; Checkbox.defaultProps = { indeterminate: false }; //# sourceMappingURL=Checkbox.js.map