mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-09 10:50:24 +00:00
fix toast
This commit is contained in:
65
frontend/src/components/toast/toaster.js
Normal file
65
frontend/src/components/toast/toaster.js
Normal 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' });
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user