UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

65 lines (51 loc) 1.71 kB
import { Message as ElMessage } from 'element-ui' import { Notification as ElNotification } from 'element-ui' /** * possible options here: * http://element.eleme.io/#/en-US/component/message */ class MessageClass { info (options, useMessageInstead = false) { useMessageInstead = useMessageInstead || false const method = useMessageInstead ? ElMessage : ElNotification method(buildOptions(options, 'info')) } success (options, useMessageInstead = false) { useMessageInstead = useMessageInstead || false const method = useMessageInstead ? ElMessage : ElNotification method(buildOptions(options, 'success')) } warning (options, useMessageInstead = false) { useMessageInstead = useMessageInstead || false const method = useMessageInstead ? ElMessage : ElNotification method(buildOptions(options, 'warning')) } error (options, useMessageInstead = false) { useMessageInstead = useMessageInstead || false const method = useMessageInstead ? ElMessage : ElNotification method(buildOptions(options, 'error')) } } function buildOptions (options, type) { if (typeof options === 'string') { return { message: options, type, offset: 120, ...(type === 'success' ? { position: 'bottom-right', duration: 1500, offset: 0 } : {}) } } if (type === 'success') { options.position = options.position || 'bottom-right' options.duration = options.duration || 1500 } if (typeof options.offset === 'undefined') { options.offset = _.get(options, 'position', '').indexOf('bottom') === -1 ? 120 : 0 } return { ...options, type } } const Message = new MessageClass() export default Message