UNPKG

nuke-modal

Version:

模态框

58 lines (43 loc) 2.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.default = show; var _rax = require('rax'); var _nukeEnv = require('nuke-env'); var _toastComponent = require('./toast-component'); var _toastComponent2 = _interopRequireDefault(_toastComponent); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } /** @jsx createElement */ function show(options, duration) { var node = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var message = options.message, icon = options.icon, others = _objectWithoutProperties(options, ['message', 'icon']); if (_nukeEnv.isWeb) { var afterCloseCallback = function afterCloseCallback() { if (container) { (0, _rax.unmountComponentAtNode)(container); document.body.removeChild(container); container = MaskInstance = null; } }; var ToastInnerComponent = (0, _rax.createElement)(_toastComponent2.default, _extends({ message: message, icon: icon, duration: duration }, others, { onClose: afterCloseCallback })); var container = void 0, MaskInstance = void 0, wrapId = '_nuke_wrap'; container = document.getElementById(wrapId); if (!container) { container = document.createElement('div'); container.setAttribute('id', wrapId); container.setAttribute('style', 'position:absolute;top:0;left:0;width:100%;height:100%;display:flex;'); document.body.appendChild(container); container = document.getElementById(wrapId); } (0, _rax.render)(ToastInnerComponent, (0, _rax.findDOMNode)(document.getElementById(wrapId)), function () { MaskInstance = this; }); } } module.exports = exports['default'];