summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/components/error_bar.jsx7
-rw-r--r--webapp/stores/error_store.jsx10
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();