1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-09 10:50:24 +00:00

fix toast

This commit is contained in:
cainiao222
2018-12-07 12:59:25 +08:00
parent 0df3066b06
commit ef838eab4d
10 changed files with 547 additions and 174 deletions

View File

@@ -0,0 +1,65 @@
import React from 'react';
import ReactDOM from 'react-dom';
import ToastManager from './toastManager';
const isBrowser =
typeof window !== 'undefined' && typeof window.document !== 'undefined';
/**
* The Toaster manages the interactionsb between
* the ToasterManger and the toast API.
*/
export default class Toaster {
constructor() {
if (!isBrowser) return;
const container = document.createElement('div');
container.setAttribute('data-evergreen-toaster-container', '');
document.body.appendChild(container);
ReactDOM.render(
<ToastManager
bindNotify={this._bindNotify}
bindGetToasts={this._bindGetToasts}
bindCloseAll={this._bindCloseAll}
/>,
container
);
}
_bindNotify = handler => {
this.notifyHandler = handler;
}
_bindGetToasts = handler => {
this.getToastsHandler = handler;
}
_bindCloseAll = handler => {
this.closeAllHandler = handler;
}
getToasts = () => {
return this.getToastsHandler();
}
closeAll = () => {
return this.closeAllHandler();
}
notify = (title, settings = {}) => {
return this.notifyHandler(title, { ...settings, intent: 'none' });
}
success = (title, settings = {}) => {
return this.notifyHandler(title, { ...settings, intent: 'success' });
}
warning = (title, settings = {}) => {
return this.notifyHandler(title, { ...settings, intent: 'warning' });
}
danger = (title, settings = {}) => {
return this.notifyHandler(title, { ...settings, intent: 'danger' });
}
}