Remove Unused JS file and Algolia References (#6750) [deploy]

This commit is contained in:
Molly Struve 2020-03-20 16:33:15 -05:00 committed by GitHub
parent bc187514a3
commit c62a60abdc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 13 additions and 130 deletions

View file

@ -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);
};
}

View file

@ -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 });
}
};

View file

@ -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 = '<div class="query-results-nothing"><div class="query-results-loader"></div><br/></div>'
@ -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);

View file

@ -28,7 +28,7 @@
<% cache(cache_key_heroku_slug("main-stories-index-#{params}-#{user_signed_in?}"), expires_in: 90.seconds) do %>
<div class="home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which="<%= @list_of %>"
data-algolia-tag=""
data-tag=""
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>">

View file

@ -4,7 +4,7 @@
<div id="query-wrapper"></div>
<div class="home sub-home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which="<%= @list_of %>"
data-algolia-tag=""
data-tag=""
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>">
<%= render "articles/search/sidebar" %>
@ -21,7 +21,7 @@
</div>
<%= render "articles/search/sidebar_additional" %>
</div>
<%= render "articles/algolia_search" %>
<%= render "articles/search" %>
<%= render "stories/narrow_nav_menu" %>
<%= render "stories/stories_list_script" %>

View file

@ -31,7 +31,7 @@
</div>
<div class="home sub-home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which=""
data-algolia-tag="<%= @tag %>"
data-tag="<%= @tag %>"
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-requires-approval="<%= @tag_model.requires_approval %>"
data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>">

View file

@ -6,7 +6,7 @@
<%= render "users/profile_header" %>
<div class="home sub-home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which="<%= @list_of %>"
data-algolia-tag="<%= "organization_#{@organization.id}" %>"
data-tag="<%= "organization_#{@organization.id}" %>"
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>">
<%= render "organizations/sidebar" %>

View file

@ -28,7 +28,7 @@
<div class="home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which="<%= @list_of %>"
data-algolia-tag=""
data-tag=""
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-articles-since="<%= Timeframer.new(params[:timeframe]).datetime.to_i %>">
<%= render "podcast_episodes/sidebar" %>

View file

@ -172,7 +172,7 @@
<div class="home sub-home" id="index-container"
data-params="<%= params.to_json(only: %i[tag username q]) %>" data-which="<%= @list_of %>"
data-algolia-tag="<%= "user_#{@user.id}" %>"
data-tag="<%= "user_#{@user.id}" %>"
data-feed="<%= params[:timeframe] || "base-feed" %>"
data-articles-since="0">
<%= render "users/sidebar" %>