ming-demo1
Version:
mdf metaui web
99 lines (80 loc) • 2.72 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = modalLight;
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
var _assign2 = _interopRequireDefault(require("lodash/assign"));
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _classnames = _interopRequireDefault(require("classnames"));
var _baseui = require("@mdf/baseui");
var _addDomEventListener = _interopRequireDefault(require("add-dom-event-listener"));
var _Util = require("./Util");
function noop() {}
function modalLight(config, manually) {
var props = (0, _assign2["default"])({
maskClosable: true,
prefixCls: 'ant-modal',
width: 500,
closable: true,
onPressEnter: noop,
onPressEsc: noop,
keyboard: true
}, config);
var prefixCls = props.prefixCls,
style = props.style || {},
maskClosable = props.maskClosable,
width = props.width,
classString = (0, _classnames["default"])(prefixCls, 'Uretail-ModalLight', props.className);
var div = document.createElement('div');
document.body.appendChild(div);
function close() {
var unmountResult = _reactDom["default"].unmountComponentAtNode(div);
if (unmountResult && div.parentNode) {
div.parentNode.removeChild(div);
enterHandler.remove();
if ((0, _isFunction2["default"])(props.onClose)) {
props.onClose();
}
}
}
var enterHandler = (0, _addDomEventListener["default"])(document, 'keydown', function (event) {
if (event.keyCode === 13) {
(0, _Util.preventDefault)(event);
(0, _Util.stopPropagation)(event);
Promise.resolve(props.onPressEnter(event)).then(close)["catch"](function (e) {
console.log(e);
});
}
if (event.keyCode === 27) {
(0, _Util.preventDefault)(event);
(0, _Util.stopPropagation)(event);
props.onPressEsc(event);
close();
}
});
function init() {
_reactDom["default"].render(_react["default"].createElement(_baseui.Modal, {
className: classString,
visible: true,
title: '',
transitionName: cb.electron.getSharedObject() ? null : 'zoom',
footer: '',
maskTransitionName: cb.electron.getSharedObject() ? null : 'fade',
maskClosable: maskClosable,
style: style,
width: width,
onCancel: close,
closable: props.closable,
keyboard: props.keyboard
}, props.content), div);
}
if (!manually) init();
return {
init: init,
destroy: close
};
}
//# sourceMappingURL=ModalLight.js.map
;