Filter not done
This commit is contained in:
		| @@ -62,7 +62,7 @@ | ||||
|             <div class="maintable"> | ||||
|                 <div class="leftcol column"> | ||||
|                     <span class="colheader">Latest Cluccs</span> | ||||
|                     <div class="tweetcontainer" id="tweet"> | ||||
|                     <div class="tweetcontainer latest" id="latest"> | ||||
|                         <div class="tweet"> | ||||
|                             <img src="https://pbs.twimg.com/profile_images/1158803404656959490/9MKSbW4O_400x400.jpg" alt="" class="tweet-profilepicture"> | ||||
|                             <div class="tweet-content"> | ||||
| @@ -91,6 +91,9 @@ | ||||
|                 </div> | ||||
|                 <div class="centercol column"> | ||||
|                     <span class="colheader">Filtered Cluccs</span> | ||||
|                     <div class="filtered" id="filtered"> | ||||
|  | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="rightcol column"> | ||||
|                     <div class="searchcontainer column"> | ||||
| @@ -127,12 +130,12 @@ | ||||
|     <script src="./js/code.js"></script> | ||||
|     <script src="./js/events.js"></script> | ||||
|     <script> | ||||
|         block("#tweet").tweets({ | ||||
|         block("#latest").tweets({ | ||||
|             memory: 20 | ||||
|         }); | ||||
|         block('#balk').barchart(); | ||||
|         events.connect('balk', '#balk'); | ||||
|         events.connect("tweet", "#tweet"); | ||||
|         events.connect("tweet", "#latest"); | ||||
|  | ||||
|         // // create a rolling chart block | ||||
|         // block('#graph').rolling_chart({ | ||||
|   | ||||
| @@ -1,12 +1,11 @@ | ||||
| let selectedSports = [] | ||||
|  | ||||
| let filters = { | ||||
|     selectedSports: selectedSports, | ||||
|     searchedWords: [], | ||||
|     blockedWords: [], | ||||
|     popularityFilter: {}, | ||||
|     sorted: "time", | ||||
|     order: "desc" | ||||
|     order: "desc", | ||||
|     sports: [] | ||||
| } | ||||
|  | ||||
| function showFeeds() { | ||||
| @@ -28,7 +27,7 @@ function tweetCell(tweet) { | ||||
|     var cell = document.createElement("div"); | ||||
|     cell.innerHTML = | ||||
|     `<div class="tweet"> | ||||
|         <a href ="https://www.twitter.com/${tweet.user.screen_name}"><img src="${tweet.user.profile_image_url}" onerror="this.src='media/logo.png'" class="tweet-profilepicture"></a> | ||||
|         <a href ="https://www.twitter.com/${tweet.user.screen_name}"><img src="${tweet.user.profile_image_url}" onerror="this.src='media/logo.png';" class="tweet-profilepicture"></a> | ||||
|         <div class="tweet-content">  | ||||
|             <div class="tweet-name"> | ||||
|                 <a class="tweet-nickname" href = "https://www.twitter.com/${tweet.user.screen_name}" target = "_blank">${tweet.user.name}</a> | ||||
| @@ -54,22 +53,14 @@ function tweetCell(tweet) { | ||||
|     return cell | ||||
| } | ||||
|  | ||||
| function filterTweets(tweets, bannedWords=[], searchWords=[], likesTop=null, likesBottom=null, retweetsTop=null, retweetsBottom=null, repliesTop=null, repliesBottom=null) { | ||||
| function filterTweets(tweets, bannedWords=[], searchWords=[], sorted, order) { | ||||
|     console.log(searchWords) | ||||
|     if(bannedWords.length > 0){ | ||||
|         tweets = filterBannedWords(bannedWords, tweets) | ||||
|     } | ||||
|     if(searchWords.length > 0){ | ||||
|         tweets = searchForWords(searchWords, tweets) | ||||
|     } | ||||
|     if(likesTop != null || likesBottom != null){ | ||||
|         tweets = filterLikes(likesTop, likesBottom, tweets) | ||||
|     } | ||||
|     if(retweetsTop != null || retweetsBottom != null){ | ||||
|         tweets = filterRetweets(retweetsTop, retweetsBottom, tweets) | ||||
|     } | ||||
|     if(repliesTop != null || repliesBottom != null){ | ||||
|         tweets = filterReplies(repliesTop, repliesBottom, tweets) | ||||
|     } | ||||
|     return tweets | ||||
| } | ||||
|  | ||||
| @@ -87,49 +78,20 @@ function filterBannedWords(bannedWords, tweets){ | ||||
| } | ||||
|  | ||||
| function searchForWords(searchWords, tweets){ | ||||
|     var filteredTweets = [] | ||||
|     for (let i = 0; i < tweets.length; i++) { | ||||
|         var tweet = tweets[i] | ||||
|         for(let i=0; i < searchWords.length; i++){ | ||||
|             console.log(tweet.text.toLowerCase().includes(searchWords[i].toLowerCase())) | ||||
|             if (!tweet.text.toLowerCase().includes(searchWords[i].toLowerCase())) { | ||||
|                 tweets.splice(i, 1) | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|         console.log(tweet, searchWords) | ||||
|         filteredTweets.push(tweet) | ||||
|     } | ||||
|     return tweets | ||||
| } | ||||
|  | ||||
| function filterLikes(likesTop, likesBottom, tweets){ | ||||
|     for (let i = 0; i < tweets.length; i++) { | ||||
|         var tweet = tweets[i] | ||||
|         if(tweet.favorite_count >= likesTop || tweet.favorite_count <= likesBottom){ | ||||
|             tweets.splice(i, 1) | ||||
|             break | ||||
|         } | ||||
|     } | ||||
|     return tweets | ||||
| } | ||||
|  | ||||
| function filterRetweets(retweetsTop, retweetsBottom, tweets){ | ||||
|     for (let i = 0; i < tweets.length; i++) { | ||||
|         var tweet = tweets[i] | ||||
|         if(tweet.retweet_count >= retweetsTop || tweet.retweet_count <= retweetsBottom){ | ||||
|             tweets.splice(i, 1) | ||||
|             break | ||||
|         } | ||||
|     } | ||||
|     return tweets | ||||
| } | ||||
|  | ||||
| function filterReplies(repliesTop, repliesBottom, tweets){ | ||||
|     for (let i = 0; i < tweets.length; i++) { | ||||
|         var tweet = tweets[i] | ||||
|         if(tweet.reply_count >= repliesTop || tweet.reply_count <= repliesBottom){ | ||||
|             tweets.splice(i, 1) | ||||
|             break | ||||
|         } | ||||
|     } | ||||
|     return tweets | ||||
|     return filteredTweets.reverse() | ||||
| } | ||||
|  | ||||
| function sortTweets(tweets, likesDes=null, retweetsDes=null, repliesDes=null, dateDes=null){ | ||||
| @@ -154,4 +116,4 @@ function sortTweets(tweets, likesDes=null, retweetsDes=null, repliesDes=null, da | ||||
|         tweets.sort(function(a,b){return Date(a.created_at)-Date(b.reply_count)}) | ||||
|     } | ||||
|     return tweets | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -2,6 +2,8 @@ | ||||
| // Sports = all selected sports, ARRAY | ||||
| $(".sport").on("selected", function(e, selected, sports) { | ||||
|     console.log(selected, sports); | ||||
|     filters.sports = sports; | ||||
|     $(window).trigger("filter"); | ||||
| }) | ||||
|  | ||||
| window.addEventListener('DOMContentLoaded', (event) => { | ||||
| @@ -40,12 +42,6 @@ $(".sortby").on("click", function() { | ||||
|  | ||||
| $(".sort-dropdown-list li").on("click", function() { | ||||
|     $(".sort-dropdown").toggle() | ||||
|     filters.sorted = $(this).val() | ||||
|     $(window).trigger("test", filters) | ||||
| }) | ||||
|  | ||||
| $(window).on("test", function(e, filter) { | ||||
|     console.log(filter); | ||||
| }) | ||||
|  | ||||
| let root = document.querySelector(":root") | ||||
| @@ -56,4 +52,19 @@ $(".logo").on("click", function() { | ||||
|     } else { | ||||
|         root.style.setProperty('--main-bg', 'ghostwhite'); | ||||
|     } | ||||
| }) | ||||
| }) | ||||
|  | ||||
| $(window).on("filter", function() { | ||||
|     var parent = $("div.filtered") | ||||
|     $("div.filtered").innerHTML = "" | ||||
|  | ||||
|     console.debug(filters); | ||||
|  | ||||
|     tweets = window.sessionStorage.getItem('tweets'); | ||||
|     tweets = JSON.parse(tweets); | ||||
|     tweets = filterTweets(tweets, filters.blockedWords, filters.searchedWords.concat(filters.sports), filters.sorted, filters.order); | ||||
|     tweets = sortTweets(tweets); | ||||
|     for (i = 0; i < Math.min(tweets.length, 20); i++){ | ||||
|             parent.append(tweetCell(tweets[i])); | ||||
|     } | ||||
| }) | ||||
|   | ||||
| @@ -73,6 +73,7 @@ block.fn.tweets = function(config) { | ||||
|  | ||||
|     // store list for later | ||||
|     var $list = $("div.tweetcontainer"); | ||||
|     console.log(this.$element.find("div")) | ||||
|  | ||||
|     // register default handler for handling tweet data | ||||
|     this.actions(function(e, tweet){ | ||||
| @@ -85,8 +86,11 @@ block.fn.tweets = function(config) { | ||||
|         } | ||||
|         window.sessionStorage.setItem('tweets', JSON.stringify(tweets)); | ||||
|  | ||||
|         var $item = tweetCell(tweet) | ||||
|         $list.prepend($item); | ||||
|         // tweets = filterTweets(tweets, filters.blockedWords, filters.searchedWords + filters.sports, filters.sorted, filters.order); | ||||
|         // tweets = sortTweets(tweets); | ||||
|         for (i = 0; i < tweets.length; i++){ | ||||
|             $list.prepend(tweetCell(tweets[i])); | ||||
|         } | ||||
|  | ||||
|         // remove stale tweets | ||||
|         if ($list.children().length > options.memory) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user