| 49 | } |
| 50 | |
| 51 | function next(props) { |
| 52 | return new Promise((resolve, reject) => { |
| 53 | const div = document.createElement('div'); |
| 54 | |
| 55 | document.body.appendChild(div); |
| 56 | |
| 57 | if (props.lockScroll != false) { |
| 58 | document.body.style.setProperty('overflow', 'hidden'); |
| 59 | } |
| 60 | |
| 61 | const component = React.createElement(MessageBox, Object.assign({}, props, { |
| 62 | promise: { resolve, reject }, |
| 63 | willUnmount: () => { |
| 64 | ReactDOM.unmountComponentAtNode(div); |
| 65 | document.body.removeChild(div); |
| 66 | document.body.style.removeProperty('overflow'); |
| 67 | } |
| 68 | })); |
| 69 | |
| 70 | ReactDOM.render(component, div); |
| 71 | }); |
| 72 | } |
| 73 | |
| 74 | export default { |
| 75 | alert, |