diff options
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/components/error_bar.jsx | 7 | ||||
-rw-r--r-- | webapp/stores/error_store.jsx | 10 |
2 files changed, 15 insertions, 2 deletions
diff --git a/webapp/components/error_bar.jsx b/webapp/components/error_bar.jsx index a3ed337f1..c13d0dd6a 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 278e252c0..4a357472d 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(); |