@6thquake/react-material
Version:
React components that implement Google's Material Design.
105 lines (83 loc) • 2.48 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _ModalBase = _interopRequireDefault(require("./ModalBase"));
var _Confirm = _interopRequireDefault(require("./Confirm"));
/**
* @ignore - do not document.
*/
function confirm(config) {
var div = document.createElement('div');
document.body.appendChild(div);
function onClose() {
destroy.apply(void 0, arguments);
}
function destroy() {
var unmountResult = _reactDom.default.unmountComponentAtNode(div);
if (unmountResult && div.parentNode) {
div.parentNode.removeChild(div);
}
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var triggerCancel = args && args.length && args.some(function (param) {
return param && param.triggerCancel;
});
if (config.onCancel && triggerCancel) {
config.onCancel.apply(config, args);
}
}
function render(props) {
_reactDom.default.render(_react.default.createElement(_Confirm.default, props), div);
}
render((0, _extends2.default)({}, config, {
open: true,
onClose: onClose
}));
return {
destroy: onClose
};
}
_ModalBase.default.info = function (props) {
var config = (0, _extends2.default)({
type: 'info',
okCancel: false
}, props);
return confirm(config);
};
_ModalBase.default.success = function (props) {
var config = (0, _extends2.default)({
type: 'done',
okCancel: false
}, props);
return confirm(config);
};
_ModalBase.default.error = function (props) {
var config = (0, _extends2.default)({
type: 'cancel',
okCancel: false
}, props);
return confirm(config);
};
_ModalBase.default.warning = _ModalBase.default.warn = function (props) {
var config = (0, _extends2.default)({
type: 'error',
okCancel: false
}, props);
return confirm(config);
};
_ModalBase.default.confirm = function (props) {
var config = (0, _extends2.default)({
type: 'contact_support',
okCancel: true
}, props);
return confirm(config);
};
var _default = _ModalBase.default;
exports.default = _default;
;