UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

85 lines (76 loc) 2.24 kB
import _extends from "@babel/runtime/helpers/extends"; import * as React from 'react'; import * as ReactDOM from 'react-dom'; import Dialog from './Dialog'; export default function confirm(title, message) { var actions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [{ text: 'Cancel', onClick: function onClick() { return console.log('cancel'); }, className: '' }, { text: 'Ok', onClick: function onClick() { return console.log('ok'); }, className: '' }]; var restProps = arguments.length > 3 ? arguments[3] : undefined; var prefixCls = 'Yep-dialog'; var closed = false; if (!title && !message) { // console.log('Must specify either an alert title, or message, or both'); return { close: function close() {} }; } var div = document.createElement('div'); document.body.appendChild(div); function close() { ReactDOM.unmountComponentAtNode(div); if (div && div.parentNode) { div.parentNode.removeChild(div); } } var buttons = actions.map(function (button) { // tslint:disable-next-line:only-arrow-functions var orginPress = button.onClick || function () {}; button.onClick = function () { if (closed) { return; } var res = orginPress(); if (res && res.then) { res.then(function () { closed = true; close(); }).catch(function () {}); } else { closed = true; close(); } }; return button; }); var footer = /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-button-group-h") }, buttons.map(function (button, index) { return /*#__PURE__*/React.createElement("a", { className: "".concat(prefixCls, "-button ").concat(button.className ? button.className : ''), onClick: button.onClick, key: index }, button.text); })); ReactDOM.render( /*#__PURE__*/React.createElement(Dialog, _extends({ show: true, title: title, footer: footer, onClose: close }, restProps), /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-alert-content") }, message)), div); return { close: close }; }