dh-c
Version:
The front-end development engineers jimberton gulp react component
96 lines (82 loc) • 3.08 kB
JavaScript
'use strict';
exports.__esModule = true;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _rcNotification = require('rc-notification');
var _rcNotification2 = _interopRequireDefault(_rcNotification);
var _icon = require('../icon');
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var key = 1;
var defaultDuration = 2; //间隔时间(秒)
var multipleInstance = true;
var messageInstance = void 0;
var icons = {
info: 'warning',
success: 'success',
error: 'error',
warning: 'warning'
};
function createMessageInstance() {
if (messageInstance && messageInstance.destroy) {
messageInstance.destroy();
}
messageInstance = _rcNotification2.default.newInstance({
prefixCls: 'dh-message',
transitionName: 'move-up',
style: { left: '50%' } // 覆盖原来的样式
});
return messageInstance;
}
function notice() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var instance = multipleInstance && messageInstance ? messageInstance : createMessageInstance();
instance.notice({
content: _react2.default.createElement(
'div',
{ className: 'dh-message-container' },
_react2.default.createElement(
'span',
{ className: 'dh-message-icon dh-message-' + args.type },
_react2.default.createElement(_icon2.default, { type: icons[args.type] })
),
_typeof(args.content) === 'object' ? _react2.default.createElement(
'span',
{ className: 'dh-message-title dh-message-' + args.type },
args.content.title || ''
) : null,
_react2.default.createElement(
'span',
{ className: 'dh-message-desc' },
_typeof(args.content) === 'object' ? args.content.desc : args.content
)
),
duration: args.duration || defaultDuration,
onClose: args.onClose
});
return function () {
var target = key;
key += 1;
return function () {
instance.removeNotice(target);
};
}();
}
exports.default = {
info: function info(content, duration, onClose) {
return notice({ content: content, duration: duration, onClose: onClose, type: 'info' });
},
success: function success(content, duration, onClose) {
return notice({ content: content, duration: duration, onClose: onClose, type: 'success' });
},
error: function error(content, duration, onClose) {
return notice({ content: content, duration: duration, onClose: onClose, type: 'error' });
},
warning: function warning(content, duration, onClose) {
return notice({ content: content, duration: duration, onClose: onClose, type: 'warning' });
},
clear: function clear() {
createMessageInstance();
}
};