UNPKG

@ucloud-pccl/react-components

Version:
266 lines (265 loc) 11.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.openModal = exports.open = exports.confirm = exports.alert = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck")); 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _isFunction2 = _interopRequireDefault(require("lodash/isFunction")); var _react = _interopRequireWildcard(require("react")); var _reactDom = _interopRequireDefault(require("react-dom")); var _propTypes = _interopRequireDefault(require("prop-types")); var _emotionTheming = require("emotion-theming"); var _Button = _interopRequireDefault(require("../../components/Button")); var _runtime = require("../../components/ThemeProvider/runtime"); var _Modal = _interopRequireDefault(require("./Modal")); var _this3 = void 0; var _excluded = ["reportUpdate"], _excluded2 = ["onOk", "onClose"], _excluded3 = ["onOk", "onClose"], _excluded4 = ["onOk", "onClose"]; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var ModalWrap = /*#__PURE__*/function (_PureComponent) { function ModalWrap() { var _this2 = this; var _this; (0, _classCallCheck2.default)(this, ModalWrap); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, ModalWrap, [].concat(args)); _this.update = function (props) { (0, _newArrowCheck2.default)(this, _this2); _this.setState(_objectSpread({}, props)); }.bind(this); return _this; } (0, _inherits2.default)(ModalWrap, _PureComponent); return (0, _createClass2.default)(ModalWrap, [{ key: "componentWillMount", value: function componentWillMount() { this.props.reportUpdate(this.update); } }, { key: "render", value: function render() { // eslint-disable-next-line no-unused-vars var _this$props = this.props, reportUpdate = _this$props.reportUpdate, rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded); return /*#__PURE__*/_react.default.createElement(_emotionTheming.ThemeProvider, { theme: (0, _runtime.getRuntimeTheme)() }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, { visible: true }, this.state))); } }]); }(_react.PureComponent); ModalWrap.propTypes = { reportUpdate: _propTypes.default.func }; var pop = function pop(props) { var _this4 = this; (0, _newArrowCheck2.default)(this, _this3); var container = document.createElement('div'); document.body.appendChild(container); var destroy = function destroy() { (0, _newArrowCheck2.default)(this, _this4); var result = _reactDom.default.unmountComponentAtNode(container); if (result && container.parentElement) { container.parentElement.removeChild(container); } }.bind(this); var update = null; _reactDom.default.render(/*#__PURE__*/_react.default.createElement(ModalWrap, (0, _extends2.default)({}, props, { reportUpdate: function (_update) { (0, _newArrowCheck2.default)(this, _this4); return update = _update; }.bind(this) })), container); return { destory: function destory() { (0, _newArrowCheck2.default)(this, _this4); console.error("Warning: wrong name of destory, please use destroy to instead"); destroy(); }.bind(this), destroy: destroy, update: update }; }.bind(void 0); var openModal = exports.openModal = function openModal(modal) { var _this5 = this; (0, _newArrowCheck2.default)(this, _this3); var container = document.createElement('div'); document.body.appendChild(container); var destroy = function destroy() { (0, _newArrowCheck2.default)(this, _this5); var result = _reactDom.default.unmountComponentAtNode(container); if (result && container.parentElement) { container.parentElement.removeChild(container); } }.bind(this); _reactDom.default.render(/*#__PURE__*/_react.default.createElement(_emotionTheming.ThemeProvider, { theme: (0, _runtime.getRuntimeTheme)() }, modal), container); return { destroy: destroy }; }.bind(void 0); var isPromise = function isPromise(promiseLike) { (0, _newArrowCheck2.default)(this, _this3); return promiseLike && promiseLike.then && (0, _isFunction2.default)(promiseLike.then); }.bind(void 0); var promiseJudgeHandle = function promiseJudgeHandle(promiseLike, handle) { var _this6 = this; (0, _newArrowCheck2.default)(this, _this3); if (isPromise(promiseLike)) { promiseLike.then(function (res) { (0, _newArrowCheck2.default)(this, _this6); handle(); return res; }.bind(this)); } else { handle(); } }.bind(void 0); var alert = exports.alert = function alert(_ref, content) { var _this7 = this; (0, _newArrowCheck2.default)(this, _this3); var _ref$onOk = _ref.onOk, onOk = _ref$onOk === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this7); }.bind(this) : _ref$onOk, _ref$onClose = _ref.onClose, onClose = _ref$onClose === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this7); }.bind(this) : _ref$onClose, rest = (0, _objectWithoutProperties2.default)(_ref, _excluded2); var _onClose = function _onClose() { var _this8 = this; (0, _newArrowCheck2.default)(this, _this7); return promiseJudgeHandle(onClose(), function () { (0, _newArrowCheck2.default)(this, _this8); return modal.destroy(); }.bind(this)); }.bind(this); var _onOk = function _onOk() { var _this9 = this; (0, _newArrowCheck2.default)(this, _this7); return promiseJudgeHandle(onOk(), function () { (0, _newArrowCheck2.default)(this, _this9); return modal.destroy(); }.bind(this)); }.bind(this); var AlertFooter = function AlertFooter(_ref2) { (0, _newArrowCheck2.default)(this, _this7); var locale = _ref2.locale; return /*#__PURE__*/_react.default.createElement(_Button.default, { size: "lg", styleType: "primary", onClick: _onOk }, locale.confirm); }.bind(this); AlertFooter.propTypes = { locale: _propTypes.default.object.isRequired }; var options = { children: content, maskClosable: false, size: 'sm', title: 'Alert', onClose: _onClose, footer: AlertFooter }; var modal = pop(_objectSpread(_objectSpread({}, options), rest)); return modal; }.bind(void 0); var confirm = exports.confirm = function confirm(_ref3, content) { var _this10 = this; (0, _newArrowCheck2.default)(this, _this3); var _ref3$onOk = _ref3.onOk, onOk = _ref3$onOk === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this10); }.bind(this) : _ref3$onOk, _ref3$onClose = _ref3.onClose, onClose = _ref3$onClose === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this10); }.bind(this) : _ref3$onClose, rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded3); var _onClose = function _onClose() { var _this11 = this; (0, _newArrowCheck2.default)(this, _this10); return promiseJudgeHandle(onClose(), function () { (0, _newArrowCheck2.default)(this, _this11); return modal.destroy(); }.bind(this)); }.bind(this); var _onOk = function _onOk() { var _this12 = this; (0, _newArrowCheck2.default)(this, _this10); return promiseJudgeHandle(onOk(), function () { (0, _newArrowCheck2.default)(this, _this12); return modal.destroy(); }.bind(this)); }.bind(this); var options = { children: content, maskClosable: false, size: 'sm', title: 'Confirm', onClose: _onClose, onOk: _onOk }; var modal = pop(_objectSpread(_objectSpread({}, options), rest)); return modal; }.bind(void 0); var open = exports.open = function open(_ref4, content) { var _this13 = this; (0, _newArrowCheck2.default)(this, _this3); var _ref4$onOk = _ref4.onOk, onOk = _ref4$onOk === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this13); }.bind(this) : _ref4$onOk, _ref4$onClose = _ref4.onClose, onClose = _ref4$onClose === void 0 ? function () { (0, _newArrowCheck2.default)(this, _this13); }.bind(this) : _ref4$onClose, rest = (0, _objectWithoutProperties2.default)(_ref4, _excluded4); var _onClose = function _onClose() { var _this14 = this; (0, _newArrowCheck2.default)(this, _this13); return promiseJudgeHandle(onClose(), function () { (0, _newArrowCheck2.default)(this, _this14); return modal.destroy(); }.bind(this)); }.bind(this); var _onOk = function _onOk() { var _this15 = this; (0, _newArrowCheck2.default)(this, _this13); return promiseJudgeHandle(onOk(), function () { (0, _newArrowCheck2.default)(this, _this15); return modal.destroy(); }.bind(this)); }.bind(this); var options = _objectSpread({ children: content, onClose: _onClose, onOk: _onOk }, rest); var modal = pop(options); return modal; }.bind(void 0);