import React, { createRef } from 'react'; import ReactDOM from 'react-dom'; import MessageHub from '../message/message'; let ref: any; const mount = () => { let kwaiNotificationMount = document.getElementById('kwaiNotificationMount'); ref = createRef(); if (!kwaiNotificationMount) { document.body.insertAdjacentHTML('beforeend', '
'); kwaiNotificationMount = document.getElementById('kwaiNotificationMount'); ReactDOM.render(, kwaiNotificationMount); } else { ReactDOM.unmountComponentAtNode(kwaiNotificationMount); ReactDOM.render(, kwaiNotificationMount); } }; mount(); export default { info: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { timeout, type: 'info', title, showProgress }); }, error: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { timeout, type: 'error', title, showProgress }); }, success: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { timeout, type: 'success', title, showProgress }); }, warning: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { timeout, type: 'warning', title, showProgress }); }, plain: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { alternativeStyle: true, timeout, title, showProgress }); }, info2: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { alternativeStyle: true, timeout, type: 'info', title, showProgress }); }, error2: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { alternativeStyle: true, timeout, type: 'error', title, showProgress }); }, success2: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { alternativeStyle: true, timeout, type: 'success', title, showProgress }); }, warning2: function(title: string, desc: string, timeout = 3000, showProgress = false) { return (ref.current as any)(desc, { alternativeStyle: true, timeout, type: 'warning', title, showProgress }); }, };