UNPKG

mk-component

Version:

- 1、npm install mk-component --save

255 lines (181 loc) 6.74 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _modal = require('antd/lib/modal'); var _modal2 = _interopRequireDefault(_modal); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _info = require('./info'); var _info2 = _interopRequireDefault(_info); var _error = require('./error'); var _error2 = _interopRequireDefault(_error); var _success = require('./success'); var _success2 = _interopRequireDefault(_success); var _warning = require('./warning'); var _warning2 = _interopRequireDefault(_warning); var _confirm = require('./confirm'); var _confirm2 = _interopRequireDefault(_confirm); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ModalComponent = function (_Component) { (0, _inherits3.default)(ModalComponent, _Component); function ModalComponent() { var _ref, _this2 = this; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, ModalComponent); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ModalComponent.__proto__ || (0, _getPrototypeOf2.default)(ModalComponent)).call.apply(_ref, [this].concat(args))), _this), _this.state = {}, _this.setOkListener = function (cb) { _this.setState({ okListener: cb }); }, _this.setCancelListener = function (cb) { _this.setState({ cancelListener: cb }); }, _this.handleOk = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() { var listener, ret; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: listener = _this.state.okListener, ret = void 0; if (!listener) { _context.next = 7; break; } _context.next = 4; return listener(); case 4: ret = _context.sent; if (!(ret === false)) { _context.next = 7; break; } return _context.abrupt('return'); case 7: _this.props.onOk && _this.props.onOk(ret); case 8: case 'end': return _context.stop(); } } }, _callee, _this2); })), _this.handleCancel = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() { var listener, ret; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: listener = _this.state.cancelListener, ret = void 0; if (!listener) { _context2.next = 7; break; } _context2.next = 4; return listener(); case 4: ret = _context2.sent; if (!(ret === false)) { _context2.next = 7; break; } return _context2.abrupt('return'); case 7: _this.props.onCancel && _this.props.onCancel(ret); case 8: case 'end': return _context2.stop(); } } }, _callee2, _this2); })), _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(ModalComponent, [{ key: 'render', value: function render() { var _props = this.props, children = _props.children, otherProps = (0, _objectWithoutProperties3.default)(_props, ['children']); children = _react2.default.cloneElement(children, { setOkListener: this.setOkListener, setCancelLister: this.setCancelListener, modalCancel: this.handleCancel, modalOk: this.handleOk }); return _react2.default.createElement(_modal2.default, (0, _extends3.default)({ visible: true }, otherProps, { children: children, onOk: this.handleOk, onCancel: this.handleCancel })); } }]); return ModalComponent; }(_react.Component); ModalComponent.newInstance = function (props) { return { show: function show(properties) { var div = document.createElement('div'); return new _promise2.default(function (resolve, reject) { var handleCancel = function handleCancel(ret) { _reactDom2.default.unmountComponentAtNode(div); try { document.body.removeChild(div); } catch (err) {} resolve(ret || false); }; var handleOk = function handleOk(ret) { _reactDom2.default.unmountComponentAtNode(div); try { document.body.removeChild(div); } catch (err) {} resolve(ret || true); }; var props = properties || {}; props.cancelText = props.cancelText || '取消'; props.okText = props.okText || '确定'; document.body.appendChild(div); _reactDom2.default.render(_react2.default.createElement(ModalComponent, (0, _extends3.default)({ visible: true, maskClosable: false }, props, { onCancel: handleCancel, onOk: handleOk })), div); }); } }; }; var m = window.__Modal; if (!m) { m = ModalComponent.newInstance(); window.__Modal = m; } m.info = _info2.default; m.success = _success2.default; m.error = _error2.default; m.warning = _warning2.default; m.confirm = _confirm2.default; exports.default = m; module.exports = exports['default'];