From d896c1d6ddb38ba4e62426b29027d459e3bb2d8e Mon Sep 17 00:00:00 2001 From: jacktjong Date: Thu, 3 Nov 2022 14:10:01 +0100 Subject: [PATCH] All ordering implemented (I think) --- dashboard_static/js/code.js | 49 +++++++++++++++++++++++------------ dashboard_static/js/events.js | 11 ++++---- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/dashboard_static/js/code.js b/dashboard_static/js/code.js index 680796a..7f5bd86 100644 --- a/dashboard_static/js/code.js +++ b/dashboard_static/js/code.js @@ -93,26 +93,41 @@ function searchForWords(searchWords, tweets){ return filteredTweets.reverse() } -function sortTweets(tweets, likesDes=null, retweetsDes=null, repliesDes=null, dateDes=null){ - if(likesDes && likesDes!=null){ - tweets.sort(function(a,b){return b.favorite_count-a.favorite_count}) - } else if (!likesDes && likesDes!=null){ - tweets.sort(function(a,b){return a.favorite_count-b.favorite_count}) +function sortTweets(tweets, sort){ + if(typeof sort.sortby == 'undefined'){ + return tweets } - if(retweetsDes && retweetsDes!=null){ - tweets.sort(function(a,b){return b.retweet_count-a.retweet_count}) - } else if (!retweetsDes && retweetsDes!=null){ - tweets.sort(function(a,b){return a.retweet_count-b.retweet_count}) + if(typeof sort.order == 'undefined'){ + sort.order = 'asc' } - if(repliesDes && repliesDes!=null){ - tweets.sort(function(a,b){return b.reply_count-a.reply_count}) - } else if (!repliesDes && repliesDes!=null){ - tweets.sort(function(a,b){return a.reply_count-b.reply_count}) + + if(sort.sortby == "likes"){ + if(sort.order == 'asc'){ + tweets.sort(function(a,b){return b.favorite_count-a.favorite_count}) + } else{ + tweets.sort(function(a,b){return a.favorite_count-b.favorite_count}) + } } - if(dateDes && dateDes!=null){ - tweets.sort(function(a,b){return Date(b.created_at)-Date(a.reply_count)}) - } else if (!dateDes && dateDes!=null){ - tweets.sort(function(a,b){return Date(a.created_at)-Date(b.reply_count)}) + if(sort.sortby == "retweets"){ + if(sort.order == 'asc'){ + tweets.sort(function(a,b){return b.retweet_count-a.retweet_count}) + } else{ + tweets.sort(function(a,b){return a.retweet_count-b.retweet_count}) + } + } + if(sort.sortby == "replies"){ + if(sort.order == 'asc'){ + tweets.sort(function(a,b){return b.reply_count-a.reply_count}) + } else { + tweets.sort(function(a,b){return a.reply_count-b.reply_count}) + } + } + if (sort.sortby == "date"){ + if(sort.order == 'asc'){ + tweets.sort(function(a,b){return Date(b.created_at)-Date(a.reply_count)}) + } else{ + tweets.sort(function(a,b){return Date(a.created_at)-Date(b.reply_count)}) + } } return tweets } diff --git a/dashboard_static/js/events.js b/dashboard_static/js/events.js index 86ca011..a7dbb29 100644 --- a/dashboard_static/js/events.js +++ b/dashboard_static/js/events.js @@ -74,21 +74,21 @@ $(window).on("filter", function() { 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); + tweets = sortTweets(tweets, [filters.sorted, filters.order]); for (i = 0; i < Math.min(tweets.length, 20); i++){ parent.append(tweetCell(tweets[i])); } }) + $(".order-btn").on("click", function() { if($(this).html() == "arrow_downward") { // Descending to ascending $(this).html("arrow_upward") - // trigger an event called ascending - $(window).trigger("ascending") + filters.order = 'asc' } else { // Ascending to descending $(this).html("arrow_downward") - // trigger an event called descending - $(window).trigger("descending") + filters.order = 'desc' } + $(window).trigger("filter") }) function updateSearched(searched){ @@ -104,6 +104,7 @@ function updateBlocked(blocked){ } function updateSort(sort){ + sortarray = [] filters.sorted = sort; $(window).trigger("filter"); } \ No newline at end of file