client/posts: improve form behavior when saving

- Disable and enable the form
- Notify about success in the sidebar
- Notify about errors in the sidebar rather than using a native alert
This commit is contained in:
rr- 2016-07-30 16:13:07 +02:00
parent dbf44ed58f
commit 193e34aff8
2 changed files with 21 additions and 4 deletions

View file

@ -101,7 +101,7 @@ class PostController {
}
_evtPostEdit(e) {
// TODO: disable form
this._view.sidebarControl.disableForm();
const post = e.detail.post;
if (e.detail.tags !== undefined) {
post.tags = e.detail.tags;
@ -123,11 +123,12 @@ class PostController {
}
post.save()
.then(() => {
this._view.sidebarControl.showSuccess('Post saved.');
this._view.sidebarControl.enableForm();
misc.disableExitConfirmation();
// TODO: enable form
}, errorMessage => {
window.alert(errorMessage);
// TODO: enable form
this._view.sidebarControl.showError(errorMessage);
this._view.sidebarControl.enableForm();
});
}

View file

@ -144,6 +144,22 @@ class PostEditSidebarControl extends events.EventTarget {
return this._formNode.querySelector(
'.post-thumbnail .dropper-container');
}
enableForm() {
views.enableForm(this._formNode);
}
disableForm() {
views.disableForm(this._formNode);
}
showSuccess(message) {
views.showSuccess(this._hostNode, message);
}
showError(message) {
views.showError(this._hostNode, message);
}
};
module.exports = PostEditSidebarControl;