react-disposable-modal
Advanced tools
Comparing version 0.2.5 to 0.3.0
@@ -13,2 +13,3 @@ "use strict"; | ||
exports.createCancelableModal = createCancelableModal; | ||
exports.createDisposableModal = createDisposableModal; | ||
@@ -31,2 +32,6 @@ var _react = require("react"); | ||
var _rx = require("disposable-component/rx6"); | ||
var _rx2 = _interopRequireDefault(_rx); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -144,2 +149,23 @@ | ||
} | ||
function createDisposableModal(El) { | ||
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; | ||
return (0, _rx2.default)(function (next, complete, error) { | ||
if (!parent) { | ||
parent = document.createElement("div"); | ||
document.body.appendChild(parent); | ||
} | ||
_reactDom2.default.render(_react2.default.createElement(El, _extends({}, props, { | ||
onCompleted: complete, | ||
onNext: next, | ||
onError: error | ||
})), parent); | ||
}, function () { | ||
_reactDom2.default.unmountComponentAtNode(parent); | ||
if (parent.parentNode) parent.parentNode.removeChild(parent); | ||
}); | ||
} | ||
//# sourceMappingURL=disposable-modal.js.map |
{ | ||
"name": "react-disposable-modal", | ||
"version": "0.2.5", | ||
"version": "0.3.0", | ||
"description": "React-disposable-modal is a reactive API for building modal components in React.", | ||
@@ -25,3 +25,3 @@ "main": "lib/disposable-modal.js", | ||
"rx": "^4.1.0", | ||
"disposable-component": "^0.2.0" | ||
"disposable-component": "^0.3.0" | ||
}, | ||
@@ -28,0 +28,0 @@ "files": [ |
@@ -5,2 +5,3 @@ import React from "react"; | ||
import mountComponent from "disposable-component"; | ||
import mountDisposableComponent from "disposable-component/rx6" | ||
@@ -86,2 +87,27 @@ // stateless functional components were not working correctly, so I had to make a very thin component to get state/prop changes to propagate correctly to children components | ||
); | ||
} | ||
export function createDisposableModal(El, props = {}, parent = null) { | ||
return mountDisposableComponent( | ||
(next, complete, error) => { | ||
if(!parent) { | ||
parent = document.createElement("div"); | ||
document.body.appendChild(parent); | ||
} | ||
ReactDOM.render( | ||
<El | ||
{...props} | ||
onCompleted={complete} | ||
onNext={next} | ||
onError={error} | ||
/>, | ||
parent | ||
); | ||
}, | ||
() => { | ||
ReactDOM.unmountComponentAtNode(parent); | ||
if(parent.parentNode) parent.parentNode.removeChild(parent); | ||
} | ||
); | ||
} |
Sorry, the diff of this file is not supported yet
21796
229
+ Addeddisposable-component@0.3.2(transitive)
- Removeddisposable-component@0.2.0(transitive)
Updateddisposable-component@^0.3.0