UNPKG

modo-mobile

Version:

A mobile UI toolkit, based on React

123 lines (106 loc) 4.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var React = _interopRequireWildcard(_react); var _reactDom = require('react-dom'); var ReactDOM = _interopRequireWildcard(_reactDom); var _toast = require('./toast'); var _toast2 = _interopRequireDefault(_toast); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var toastComponent = void 0; var div = void 0; function Toast(_ref) { var _ref$content = _ref.content, content = _ref$content === undefined ? '' : _ref$content, _ref$icon = _ref.icon, icon = _ref$icon === undefined ? '' : _ref$icon, _ref$duration = _ref.duration, duration = _ref$duration === undefined ? 0 : _ref$duration, _ref$position = _ref.position, position = _ref$position === undefined ? 'center' : _ref$position, _ref$hasMask = _ref.hasMask, hasMask = _ref$hasMask === undefined ? false : _ref$hasMask; var props = { content: content, duration: duration, hasMask: hasMask, icon: icon, position: position }; if (toastComponent) { toastComponent.props = props; } else { div = document.createElement('div'); document.body.appendChild(div); } next(props); } function next(props) { var component = React.createElement(_toast2['default'], (0, _extends3['default'])(props, { ref: function ref(el) { toastComponent = el; }, willUnmount: function willUnmount() { ReactDOM.unmountComponentAtNode(div); document.body.removeChild(div); div = null; toastComponent = null; } })); ReactDOM.render(component, div); } exports['default'] = { info: function info(content) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; return Toast({ content: content, duration: duration, hasMask: hasMask }); }, success: function success(content) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; return Toast({ content: content, duration: duration, hasMask: hasMask, icon: 'check-circle' }); }, fail: function fail(content) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; return Toast({ content: content, duration: duration, hasMask: hasMask, icon: 'close-circle' }); }, loading: function loading(content) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; return Toast({ content: content, duration: duration, hasMask: hasMask, icon: 'loading' }); }, hide: function hide() { if (div) { ReactDOM.unmountComponentAtNode(div); document.body.removeChild(div); div = null; toastComponent = null; } } }; module.exports = exports['default'];