diff --git a/webapp/components/error_bar.jsx b/webapp/components/error_bar.jsx index a3ed337f16..c13d0dd6ab 100644 --- a/webapp/components/error_bar.jsx +++ b/webapp/components/error_bar.jsx @@ -58,7 +58,12 @@ export default class ErrorBar extends React.Component { e.preventDefault(); } - ErrorStore.clearLastError(); + if (ErrorStore.getLastError() && ErrorStore.getLastError().email_preview) { + ErrorStore.clearPreviewError(); + } else { + ErrorStore.clearLastError(); + } + this.setState({message: null}); } diff --git a/webapp/stores/error_store.jsx b/webapp/stores/error_store.jsx index 278e252c00..4a357472d5 100644 --- a/webapp/stores/error_store.jsx +++ b/webapp/stores/error_store.jsx @@ -64,8 +64,10 @@ class ErrorStoreClass extends EventEmitter { clearLastError() { var lastError = this.getLastError(); + + // preview message can only be cleared by clearPreviewError if (lastError && lastError.email_preview) { - this.ignore_email_preview = true; + return; } BrowserStore.removeGlobalItem('last_error'); @@ -74,6 +76,12 @@ class ErrorStoreClass extends EventEmitter { this.emitChange(); } } + + clearPreviewError() { + this.ignore_email_preview = true; + this.storeLastError(''); + this.clearLastError(); + } } var ErrorStore = new ErrorStoreClass();