diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 894b1fb69..9dab7a23d 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -22,6 +22,12 @@ let BookWyrm = new class { this.interact.bind(this)) ); + document.querySelectorAll('.submit-status') + .forEach(button => button.addEventListener( + 'submit', + this.submitStatus.bind(this)) + ); + document.querySelectorAll('.hidden-form input') .forEach(button => button.addEventListener( 'change', @@ -292,6 +298,27 @@ let BookWyrm = new class { }); } + /** + * Post a status with ajax + * + * @param {Event} event + * @return {undefined} + */ + submitStatus(event) { + event.preventDefault(); + + const bookwyrm = this; + const form = event.currentTarget; + + this.ajaxPost(form).catch(error => { + // @todo Display a notification in the UI instead. + console.warn('Request failed:', error); + }); + + // Clear form data + form.reset(); + } + /** * Submit a form using POST. *