UNPKG

react-confirm

Version:

Small library which makes your Dialog component callable

32 lines (27 loc) 794 B
import { createDomTreeMounter } from './mounter/domTree'; export const createConfirmationCreater = (mounter) => (Component, unmountDelay = 1000, mountingNode) => { return (props) => { let mountId; const promise = new Promise((resolve, reject) => { try { mountId = mounter.mount(Component, { reject, resolve, dispose, ...props}, mountingNode) } catch (e) { console.error(e); throw e; } }) function dispose() { setTimeout(() => { mounter.unmount(mountId); }, unmountDelay); } return promise.then((result) => { dispose(); return result; }, (result) => { dispose(); return Promise.reject(result); }); } } export default createConfirmationCreater(createDomTreeMounter());