UNPKG

ming-demo3

Version:
239 lines (199 loc) 7.49 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 _react = _interopRequireDefault(require("react")); var _baseui = require("@mdf/baseui"); var _input = _interopRequireDefault(require("../basic/input")); var _inputnumber = _interopRequireDefault(require("../basic/inputnumber")); var _datepicker = _interopRequireDefault(require("../basic/datepicker")); var _select = _interopRequireDefault(require("../basic/select")); var _refer = _interopRequireDefault(require("../basic/refer")); var _switch = _interopRequireDefault(require("../basic/switch")); var _labelswitch = _interopRequireDefault(require("../basic/labelswitch")); var _button = _interopRequireDefault(require("../basic/button")); var _checkbox = _interopRequireDefault(require("../basic/checkbox")); var _tag = _interopRequireDefault(require("../basic/tag")); var _col = _interopRequireDefault(require("../basic/col")); var _row = _interopRequireDefault(require("../basic/row")); var _addEventListener = _interopRequireDefault(require("rc-util/lib/Dom/addEventListener")); var CompositeModel = function (_React$Component) { (0, _inherits2["default"])(CompositeModel, _React$Component); function CompositeModel(props) { var _this; (0, _classCallCheck2["default"])(this, CompositeModel); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CompositeModel).call(this, props)); _this.state = { isVisible: props.visible, width: props.width, height: props.height, compositeControl: props.compositeControl, rowModel: props.rowModel }; _this._isVisible = false; _this.onDocumentClick = _this.onDocumentClick.bind((0, _assertThisInitialized2["default"])(_this)); return _this; } (0, _createClass2["default"])(CompositeModel, [{ key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (nextProps.compositeControl) this.setState({ width: nextProps.width, height: nextProps.height, compositeControl: nextProps.compositeControl, rowModel: nextProps.rowModel }); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this.state.isVisible) { if (!this.clickOutsideHandler) this.clickOutsideHandler = (0, _addEventListener["default"])(document, 'mousedown', this.onDocumentClick); return; } this.removeEventListener(); } }, { key: "removeEventListener", value: function removeEventListener() { if (this.clickOutsideHandler) { this.clickOutsideHandler.remove(); this.clickOutsideHandler = null; } } }, { key: "onDocumentClick", value: function onDocumentClick(event) { if (this._isVisible !== false) return; var parent = cb.dom(event.target).parents('div[data-reactroot]'); if (parent.hasClass('ant-row') || parent.children('.bill-maker-modal').length) { this.setState({ isVisible: this._isVisible }); if (!this._isVisible) this.props.setCellBlur(); } } }, { key: "showPopClick", value: function showPopClick() { this.setState({ isVisible: true }); } }, { key: "onVisibleChange", value: function onVisibleChange(e) { this._isVisible = e; } }, { key: "getPopoverContent", value: function getPopoverContent() { var self = this; var rowModel = this.state.rowModel; var controls = this.state.compositeControl.controls; var ret = []; controls.map(function (item) { var model = rowModel.get(item.cItemName); var control = self.getComponents(item, model); ret.push(_react["default"].createElement(_row["default"], null, _react["default"].createElement(_col["default"], { span: 8 }, item.cShowCaption + ':'), _react["default"].createElement(_col["default"], { span: 16 }, control))); }); return ret; } }, { key: "getComponents", value: function getComponents(col, model) { switch (col.cControlType && col.cControlType.trim().toLocaleLowerCase()) { case 'input': return _react["default"].createElement(_input["default"], { model: model }); case 'inputnumber': var NumPoint = 1; if (col.iNumPoint && col.iNumPoint > 1) { NumPoint = 0.1; NumPoint = Math.pow(NumPoint, col.iNumPoint).toFixed(col.iNumPoint); } return _react["default"].createElement(_inputnumber["default"], { model: model, iNumPoint: NumPoint }); case 'datepicker': return _react["default"].createElement(_datepicker["default"], { model: model }); case 'select': return _react["default"].createElement(_select["default"], { model: model }); case 'refer': return _react["default"].createElement(_refer["default"], { model: model }); case 'switch': return _react["default"].createElement(_switch["default"], { model: model, checkedChildren: "\u662F", unCheckedChildren: "\u5426" }); case 'scheckbox': return _react["default"].createElement(_checkbox["default"], { model: model }); case 'tag': return _react["default"].createElement(_tag["default"], { model: model, disabled: false, color: 'blue', closable: true, cRefType: col.cRefType, refReturn: col.refReturn, cRefRetId: col.cRefRetId }); } } }, { key: "render", value: function render() { var _this2 = this; var content = this.getPopoverContent(); return _react["default"].createElement(_baseui.Popover, { placement: "bottom", overlayStyle: { width: this.state.width }, content: content, trigger: "click", visible: this.state.isVisible, onVisibleChange: function onVisibleChange(e) { return _this2.onVisibleChange(e); } }, _react["default"].createElement(_button["default"], { style: { borderWidth: 0, width: '100%', height: '100%' }, type: "ghost", icon: "", onClick: function onClick() { return _this2.showPopClick(); } })); } }]); return CompositeModel; }(_react["default"].Component); exports["default"] = CompositeModel; //# sourceMappingURL=CompositeModel.js.map