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:
		
							parent
							
								
									dbf44ed58f
								
							
						
					
					
						commit
						193e34aff8
					
				@ -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();
 | 
			
		||||
            });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user