1
0
mirror of https://github.com/flarum/core.git synced 2025-10-12 15:34:26 +02:00

Improve client XHR error handling

The default XHR error handler produce an alert which is appropriate to the response status code. It can be overridden per-request (by specifying the `errorHandler` option) so that the alert can be suppressed or displayed in a different position (e.g. inside a modal).

ref #118
This commit is contained in:
Toby Zerner
2015-10-20 12:48:26 +10:30
parent 7490709af8
commit 26a821e3e2
26 changed files with 192 additions and 175 deletions

View File

@@ -85,24 +85,12 @@ export default class ForgotPasswordModal extends Modal {
app.request({
method: 'POST',
url: app.forum.attribute('apiUrl') + '/forgot',
data: {email: this.email()},
handlers: {
404: () => {
this.alert = new Alert({type: 'warning', message: 'That email wasn\'t found in our database.'});
throw new Error();
}
}
}).then(
() => {
this.loading = false;
data: {email: this.email()}
})
.then(() => {
this.success = true;
this.alert = null;
m.redraw();
},
response => {
this.loading = false;
this.handleErrors(response);
}
);
})
.finally(this.loaded.bind(this));
}
}