UNPKG

ming-demo3

Version:
172 lines (147 loc) 5.68 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; 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 _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var CheckRadio = function (_React$Component) { (0, _inherits2["default"])(CheckRadio, _React$Component); function CheckRadio(props) { var _this; (0, _classCallCheck2["default"])(this, CheckRadio); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CheckRadio).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) { if (_this.state.readOnly) return; if (_this.props.model) { var value = _this.props.model.getValue(); _this.props.model.setValue(!value, true); } else { if (_this.props.onChange) _this.props.onChange(!_this.state.value); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBodyClick", function (e) { if (_this.contains(_this.refs.div, e.target)) return; document.body.removeEventListener('click', _this.handleBodyClick); _this.setState({ focus: false }); if (_this.props.model) _this.props.model.execute('blur'); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "contains", function (elem, target) { if (elem === target) return true; if (!elem || !elem.children.length) return false; for (var i = 0, len = elem.children.length; i < len; i++) { if (_this.contains(elem.children[i], target)) return true; } return false; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setVisible", function (value) { _this.setState({ visible: value }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "baseControl", function () { var value = _this.state.value; var control; if (_this.state.readOnly) { if (!value) control = _react["default"].createElement("div", { className: "checkradio-unchecked-readonly" });else control = _react["default"].createElement("div", { className: "checkradio-checked-readonly" }); } else { if (!value) control = _react["default"].createElement("div", { className: "checkradio-unchecked", onClick: _this.onChange });else control = _react["default"].createElement("div", { className: "checkradio-checked", onClick: _this.onChange }); } return _react["default"].createElement("div", { ref: "div", className: "checkradio-container" }, control); }); _this.state = { bIsNull: props.bIsNull, value: props.checked || false, defaultChecked: false, focus: props.focus, visible: !props.bHidden, readOnly: props.readOnly, style: {}, className: props.className || '' }; return _this; } (0, _createClass2["default"])(CheckRadio, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.model) this.props.model.addListener(this); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this.props.model) this.props.model.addListener(this); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.props.model) this.props.model.removeListener(this); } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (nextProps.model) { if (!this.props.model) { nextProps.model.addListener(this); } else { return; } } else { var checked = false; if (this.props.model) { this.props.model.removeListener(this); if (this.props.checked) this.setState({ value: this.props.checked }); } else { this.setState({ value: nextProps.checked }); } } this.setState({ readOnly: nextProps.readOnly, focus: nextProps.focus, className: nextProps.className }); } }, { key: "render", value: function render() { var control = this.baseControl(); var classname = this.state.className; var style = this.state.visible ? {} : { display: "none" }; if (this.state.focus) document.body.addEventListener('click', this.handleBodyClick); return _react["default"].createElement("div", { className: classname, style: style }, control); } }]); return CheckRadio; }(_react["default"].Component); exports["default"] = CheckRadio; //# sourceMappingURL=checkradio.js.map