From 5f5beabcabeb4c480a3c425b104bd23a5f22f434 Mon Sep 17 00:00:00 2001 From: Andrew Bone Date: Thu, 24 Jan 2019 23:42:19 +0000 Subject: [PATCH] Make initializeUserSidebar shorter (#1640) Make initializeUserSidebar() shorter to meet codeclimate requirements. --- .../initializers/initializeBaseUserData.js | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/app/assets/javascripts/initializers/initializeBaseUserData.js b/app/assets/javascripts/initializers/initializeBaseUserData.js index f97e69564..50adeb1bd 100644 --- a/app/assets/javascripts/initializers/initializeBaseUserData.js +++ b/app/assets/javascripts/initializers/initializeBaseUserData.js @@ -8,36 +8,29 @@ function initializeBaseUserData(){ } function initializeUserSidebar(user) { - if (document.getElementById("sidebar-nav")) { - initializeUserProfileContent(user); - var tagHTML = ""; - var renderedTagsCount = 0; - var followedTags = JSON.parse(user.followed_tags); - if (followedTags.length === 0) { - document.getElementById("tag-separator").innerHTML = "Follow tags to improve your feed" - } - - // sort tags by descending weigth, descending popularity and name - followedTags.sort(function(tagA, tagB) { - return tagB.points - tagA.points || tagB.hotness_score - tagA.hotness_score || tagA.name.localeCompare(tagB.name); - }); - - followedTags.forEach(function(t){ - renderedTagsCount++; - if (t.points > 0.0) { - tagHTML = tagHTML + ''; - } - if (document.getElementById("default-sidebar-element-"+t.name)){ - document.getElementById("default-sidebar-element-"+t.name).remove(); - } - }); - document.getElementById("sidebar-nav-followed-tags").innerHTML = tagHTML; - document.getElementById("sidebar-nav-default-tags").classList.add("showing"); - } + if (!document.getElementById("sidebar-nav")) return; + initializeUserProfileContent(user); + var tagHTML = ""; + var followedTags = JSON.parse(user.followed_tags); + document.getElementById("tag-separator").innerHTML = followedTags.length === 0 ? "Follow tags to improve your feed" : "Other Popular Tags"; + + // sort tags by descending weigth, descending popularity and name + followedTags.sort(function(tagA, tagB) { + return tagB.points - tagA.points || tagB.hotness_score - tagA.hotness_score || tagA.name.localeCompare(tagB.name); + }); + + followedTags.forEach(function(t){ + var element = document.getElementById("default-sidebar-element-"+t.name); + tagHTML += t.points > 0.0 ? + '' : ''; + if(element) element.remove(); + }); + document.getElementById("sidebar-nav-followed-tags").innerHTML = tagHTML; + document.getElementById("sidebar-nav-default-tags").classList.add("showing"); } function initializeUserProfileContent(user) {