qt-public-ui
Version:
新设计规范下业务组件库
143 lines (142 loc) • 6.15 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _ = require("..");
var _antd = require("antd");
var _classnames = _interopRequireDefault(require("classnames"));
var _reactDom = require("react-dom");
var _modal = _interopRequireDefault(require("./modal"));
var _excluded = ["type", "title", "content", "icon", "okButtonProps", "cancelButtonProps", "okText", "okType", "cancelText"];
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; }
var ICONCLASSNAME = 'umui-modal-icon ';
var ICONS = {
success: {
type: 'umicon-success',
className: 'umui-modal-icon-success'
},
error: {
type: 'umicon-fail',
className: 'umui-modal-icon-error'
},
warning: {
type: 'umicon-warning',
className: 'umui-modal-icon-warning'
},
confirm: {
type: 'umicon-comfirm',
className: 'umui-modal-icon-confirm'
},
info: {
type: 'umicon-info',
className: 'umui-modal-icon-info'
}
};
var StaticModal = function StaticModal(props) {
var type = props.type,
title = props.title,
content = props.content,
icon = props.icon,
okButtonProps = props.okButtonProps,
cancelButtonProps = props.cancelButtonProps,
_props$okText = props.okText,
okText = _props$okText === void 0 ? '确定' : _props$okText,
_props$okType = props.okType,
okType = _props$okType === void 0 ? 'primary' : _props$okType,
_props$cancelText = props.cancelText,
cancelText = _props$cancelText === void 0 ? '取消' : _props$cancelText,
modalProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
var _useState = (0, _react.useState)(true),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
visible = _useState2[0],
setVisible = _useState2[1];
var presetIcon = ICONS[type];
var onModalCancel = function onModalCancel() {
var onCancel = props.onCancel;
setTimeout(function () {
onCancel && onCancel();
}, 0);
setVisible(false);
};
var onModalConfirm = function onModalConfirm() {
var onOk = props.onOk;
setTimeout(function () {
onOk && onOk();
}, 0);
setVisible(false);
};
return /*#__PURE__*/_react["default"].createElement(_modal["default"], (0, _extends2["default"])({
maskClosable: false,
width: 416
}, modalProps, {
visible: visible,
footer: null,
closable: false,
className: "umui-modal-static ant-modal-confirm"
}), /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _classnames["default"])('umui-static-modal', 'ant-modal-confirm-body-wrapper', {
'umui-static-modal-without-title': !title
})
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "ant-modal-confirm-body"
}, icon || /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
type: presetIcon.type,
className: ICONCLASSNAME + presetIcon.className
}), /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-static-modal-body"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "ant-modal-confirm-title"
}, title), /*#__PURE__*/_react["default"].createElement("div", {
className: "ant-modal-confirm-content"
}, content))), /*#__PURE__*/_react["default"].createElement("div", {
className: "ant-modal-confirm-btns"
}, type !== 'confirm' ? /*#__PURE__*/_react["default"].createElement(_antd.Button, {
type: "primary",
onClick: onModalCancel
}, okText) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_antd.Button, (0, _extends2["default"])({}, cancelButtonProps, {
onClick: onModalCancel
}), cancelText), /*#__PURE__*/_react["default"].createElement(_antd.Button, (0, _extends2["default"])({
type: okType || 'primary'
}, okButtonProps, {
onClick: onModalConfirm
}), okText)))));
};
StaticModal.call = function (type, props) {
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = '0px';
div.style.left = '0px';
document.body.appendChild(div);
var onCancel = function onCancel() {
document.body.removeChild(div);
props.onCancel && props.onCancel();
};
var onOk = function onOk() {
document.body.removeChild(div);
props.onOk && props.onOk();
};
var modal = /*#__PURE__*/_react["default"].createElement(StaticModal, (0, _extends2["default"])({}, props, {
type: type,
onCancel: onCancel,
onOk: onOk,
getContainer: function getContainer() {
return div;
}
}));
(0, _reactDom.render)(modal, div);
};
var _default = exports["default"] = {
success: StaticModal.call.bind(null, 'success'),
error: StaticModal.call.bind(null, 'error'),
warning: StaticModal.call.bind(null, 'warning'),
confirm: StaticModal.call.bind(null, 'confirm'),
info: StaticModal.call.bind(null, 'info')
};