From c62a60abdc921b083da8b3ceffc46ace587c8db1 Mon Sep 17 00:00:00 2001 From: Molly Struve Date: Fri, 20 Mar 2020 16:33:15 -0500 Subject: [PATCH] Remove Unused JS file and Algolia References (#6750) [deploy] --- .../initializers/initScrolling.js.erb | 4 +- .../initializeFetchFollowedArticles.js.erb | 117 ------------------ ...golia_search.html.erb => _search.html.erb} | 8 +- app/views/articles/index.html.erb | 2 +- app/views/articles/search.html.erb | 4 +- app/views/articles/tag_index.html.erb | 2 +- app/views/organizations/show.html.erb | 2 +- app/views/podcast_episodes/index.html.erb | 2 +- app/views/users/show.html.erb | 2 +- 9 files changed, 13 insertions(+), 130 deletions(-) delete mode 100644 app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb rename app/views/articles/{_algolia_search.html.erb => _search.html.erb} (96%) diff --git a/app/assets/javascripts/initializers/initScrolling.js.erb b/app/assets/javascripts/initializers/initScrolling.js.erb index 29ef4e51f..a018c760f 100644 --- a/app/assets/javascripts/initializers/initScrolling.js.erb +++ b/app/assets/javascripts/initializers/initScrolling.js.erb @@ -179,7 +179,7 @@ function fetchNextPodcastPage(el) { fetchNext(el, "/api/podcast_episodes", insertArticles) } -function algoliaPaginate(tag, requiresApproval) { +function paginate(tag, requiresApproval) { var tagFilters = []; if (tag && tag.length > 0) { tagFilters.push(tag); @@ -253,7 +253,7 @@ function fetchNextPageIfNearBottom() { } else { scrollableElemId = "articles-list"; fetchCallback = function fetch() { - algoliaPaginate(indexContainer.dataset.algoliaTag, indexContainer.dataset.requiresApproval); + paginate(indexContainer.dataset.tag, indexContainer.dataset.requiresApproval); }; } diff --git a/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb b/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb deleted file mode 100644 index 03fba16b9..000000000 --- a/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb +++ /dev/null @@ -1,117 +0,0 @@ -function insertArticle(article,parent,insertPlace) { - if (article){ - var newItem = document.createElement("DIV"); - if (article.cached_user) { - article.user = article.cached_user.table - } - if (article.cached_organization) { - article.organization = article.cached_organization.table - } - newItem.innerHTML = buildArticleHTML(article) - parent.insertBefore(newItem, insertPlace); - initializeReadingListIcons(); - } -} - -function insertInitialArticles(user) { - var el = document.getElementById("home-articles-object"); - if (!el) {return} - el.innerHTML = ""; - insertTopArticles(user); - el.outerHTML = ""; -} - -function insertTopArticles(user){ - var el = document.getElementById("home-articles-object"); - var articlesJSON = JSON.parse(el.dataset.articles) - var insertPlace = document.getElementById("article-index-hidden-div"); - if (insertPlace) { - articlesJSON.forEach(function(article){ - var articlePoints = 0 - var containsUserID = findOne([article.user_id], user.followed_user_ids || []) - var containsOrganizationID = findOne([article.organization_id], user.followed_organization_ids || []) - var intersectedTags = intersect_arrays(user.followed_tag_names, article.cached_tag_list_array) - var followedPoints = 1 - var experienceDifference = Math.abs(article['experience_level_rating'] - user.experience_level || 5) - var containsPreferredLanguage = findOne([article.language || 'en'], user.preferred_languages_array || ['en']) - JSON.parse(user.followed_tags).map(function(tag) { - if (intersectedTags.includes(tag.name)) { - followedPoints = followedPoints + tag.points - } - }) - articlePoints = articlePoints + followedPoints - if (containsUserID) { - articlePoints = articlePoints + 1 - } - if (containsOrganizationID) { - articlePoints = articlePoints + 1 - } - var rand = Math.random(); - if (rand < 0.3) { - articlePoints = articlePoints + 3 - } else if (rand < 0.6) { - articlePoints = articlePoints + 6 - } - if (containsPreferredLanguage) { - articlePoints = articlePoints + 1 - } else { - articlePoints = articlePoints - 10 - } - articlePoints = articlePoints - (experienceDifference/2); - article['points'] = articlePoints - }); - var sortedArticles = articlesJSON.sort(function(a, b) { - return b.points - a.points; - }); - sortedArticles.forEach(function(article){ - var parent = insertPlace.parentNode; - if ( article.points > 0 && !document.getElementById("article-link-"+article.id) ) { - insertArticle(article,parent,insertPlace); - } - }); - } -} - -function findOne(haystack, arr) { - return arr.some(function (v) { - return haystack.indexOf(v) >= 0; - }); -}; - - -function intersect_arrays(a, b) { - var sorted_a = a.concat().sort(); - var sorted_b = b.concat().sort(); - var common = []; - var a_i = 0; - var b_i = 0; - - while (a_i < a.length - && b_i < b.length) - { - if (sorted_a[a_i] === sorted_b[b_i]) { - common.push(sorted_a[a_i]); - a_i++; - b_i++; - } - else if(sorted_a[a_i] < sorted_b[b_i]) { - a_i++; - } - else { - b_i++; - } - } - return common; -} - -function insertTimes() { - var elements = document.getElementsByClassName('time-ago-indicator-initial-placeholder'); - for (var i = 0; i < elements.length; i++) { - - // getElementsByClassName will get updated everytime we change DOM - // so elements[0] will produce the next unchanged element every iteration - var element = elements[0]; - - element.outerHTML = timeAgo({ oldTimeInSeconds: element.dataset.seconds }); - } -}; diff --git a/app/views/articles/_algolia_search.html.erb b/app/views/articles/_search.html.erb similarity index 96% rename from app/views/articles/_algolia_search.html.erb rename to app/views/articles/_search.html.erb index 836167c3a..242bae4cd 100644 --- a/app/views/articles/_algolia_search.html.erb +++ b/app/views/articles/_search.html.erb @@ -17,7 +17,7 @@ var params = getQueryParams(document.location.search); // var query = escape(params.q); - function algoliaMain() { + function searchMain() { var query = filterXSS(params.q); var filters = filterXSS(params.filters || ""); document.getElementById("substories").innerHTML = '

' @@ -112,11 +112,11 @@ }); } - var waitingOnAlgolia = setInterval(function () { + var waitingOnSearch = setInterval(function () { if (typeof algoliasearch == 'function' && typeof filterXSS == 'function' && typeof buildArticleHTML == 'function') { - clearInterval(waitingOnAlgolia); + clearInterval(waitingOnSearch); if (document.querySelectorAll('.search-results-loaded').length == 0) { - algoliaMain(); + searchMain(); } } }, 1); diff --git a/app/views/articles/index.html.erb b/app/views/articles/index.html.erb index fb3ff0a53..5e6541ea0 100644 --- a/app/views/articles/index.html.erb +++ b/app/views/articles/index.html.erb @@ -28,7 +28,7 @@ <% cache(cache_key_heroku_slug("main-stories-index-#{params}-#{user_signed_in?}"), expires_in: 90.seconds) do %>
" data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>"> diff --git a/app/views/articles/search.html.erb b/app/views/articles/search.html.erb index aa1eb1c13..24fba2304 100644 --- a/app/views/articles/search.html.erb +++ b/app/views/articles/search.html.erb @@ -4,7 +4,7 @@
" data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>"> <%= render "articles/search/sidebar" %> @@ -21,7 +21,7 @@
<%= render "articles/search/sidebar_additional" %>
-<%= render "articles/algolia_search" %> +<%= render "articles/search" %> <%= render "stories/narrow_nav_menu" %> <%= render "stories/stories_list_script" %> diff --git a/app/views/articles/tag_index.html.erb b/app/views/articles/tag_index.html.erb index dd79ae137..683e28863 100644 --- a/app/views/articles/tag_index.html.erb +++ b/app/views/articles/tag_index.html.erb @@ -31,7 +31,7 @@
" data-requires-approval="<%= @tag_model.requires_approval %>" data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>"> diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index e71cdbe4d..438573854 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -6,7 +6,7 @@ <%= render "users/profile_header" %>
" + data-tag="<%= "organization_#{@organization.id}" %>" data-feed="<%= params[:timeframe] || "base-feed" %>" data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>"> <%= render "organizations/sidebar" %> diff --git a/app/views/podcast_episodes/index.html.erb b/app/views/podcast_episodes/index.html.erb index 12aae305f..7243f4585 100644 --- a/app/views/podcast_episodes/index.html.erb +++ b/app/views/podcast_episodes/index.html.erb @@ -28,7 +28,7 @@
" data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>"> <%= render "podcast_episodes/sidebar" %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index e206e2a94..7420e1583 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -172,7 +172,7 @@
" + data-tag="<%= "user_#{@user.id}" %>" data-feed="<%= params[:timeframe] || "base-feed" %>" data-articles-since="0"> <%= render "users/sidebar" %>