From b63380ba74a1253a0523a25634c2aaefde08e4e6 Mon Sep 17 00:00:00 2001 From: "Gautam krishna.R" Date: Mon, 12 Nov 2018 21:08:01 +0530 Subject: [PATCH] Disable reaction buttons until fetch completes (#989) --- .../initializers/initializeArticleReactions.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/initializers/initializeArticleReactions.js b/app/assets/javascripts/initializers/initializeArticleReactions.js index 789694181..8d78dea55 100644 --- a/app/assets/javascripts/initializers/initializeArticleReactions.js +++ b/app/assets/javascripts/initializers/initializeArticleReactions.js @@ -101,8 +101,8 @@ function reactToArticle(articleId, reaction) { showModal("react-to-article"); return; } else { - // Optimistically toggle reaction toggleReaction(); + document.getElementById("reaction-butt-" + reaction).disabled = true; } function createFormdata() { @@ -117,17 +117,20 @@ function reactToArticle(articleId, reaction) { return formData; } - getCsrfToken() .then(sendFetch("reaction-creation", createFormdata())) .then(function (response) { if (response.status === 200) { - return response.json().then(); + return response.json().then(() => { + document.getElementById("reaction-butt-" + reaction).disabled = false; + }); } else { toggleReaction(); + document.getElementById("reaction-butt-" + reaction).disabled = false; } }) .catch(function (error) { - toggleReaction(); + toggleReaction(); + document.getElementById("reaction-butt-" + reaction).disabled = false; }) }