From ce45d0ef81d9a71f2c5281aedfd4900ffcf11007 Mon Sep 17 00:00:00 2001 From: AshWhitear Date: Wed, 29 Aug 2018 05:34:09 +1000 Subject: [PATCH] Update all necessary follow buttons on click (#433) --- .../initializers/initializeAllFollowButts.js | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/initializers/initializeAllFollowButts.js b/app/assets/javascripts/initializers/initializeAllFollowButts.js index 13de954f8..88bcb4c3f 100644 --- a/app/assets/javascripts/initializers/initializeAllFollowButts.js +++ b/app/assets/javascripts/initializers/initializeAllFollowButts.js @@ -94,7 +94,27 @@ function handleOptimisticButtRender(butt) { showModal('follow-button'); } else { // Handles actual following of tags/users - assignState(butt, butt.dataset.verb); + try { + //lets try grab the event buttons info data attribute user id + var evFabUserId = JSON.parse(butt.dataset.info).id; + var requestVerb = butt.dataset.verb; + //now for all follow action buttons + document.querySelectorAll('.follow-action-button').forEach(function(fab){ + try{ + //lets check they have info data attributes + if( fab.dataset.info ){ + //and attempt to parse those, to grab that buttons info user id + var fabUserId = JSON.parse(fab.dataset.info).id; + //now does that user id match our event buttons user id? + if ( fabUserId && fabUserId === evFabUserId ) { + //yes - time to assign the same state! + assignState(fab, requestVerb); + } + } + }catch (err) {return} + }); + }catch (err) {return} + handleFollowButtPress(butt); } }