let root = document.documentElement // Used for css variables
let selectedSports = []
$(".sport").on("click", function() {
$(this).toggleClass("selected")
let sportName = $(this).children()[1].innerHTML // 2nd element, which is the sport name
let index = selectedSports.indexOf(sportName)
if (index > -1 ) { // If element is found in array
selectedSports.splice(index, 1) // Remove sport at index
} else {
selectedSports.push(sportName) // Add sport to array
}
$(this).trigger("selected", [selectedSports.includes(sportName), selectedSports]) // Trigger event
})
function getCSSVariable(name) {
return getComputedStyle(root).getPropertyValue(name)
}
function tweetCell(tweet, parent) {
var cell = document.createElement("div");
cell.innerHTML =
`
`
parent.append(cell);
}
var atweet = {
"created_at": "Sat Nov 16 12:51:41 +0000 2019",
"text": "@BobGreenburg @ONeill_Coffee Congrats to the excellent football program at Wilmington. One classy organization!",
"source": "Twitter for iPhone<\/a>",
"user": {
"name": "Express Youngstown",
"screen_name": "ExpressProsYO",
"url": "http:\/\/apply.expresspros.com\/",
"profile_image_url": "http:\/\/pbs.twimg.com\/profile_images\/775167844921188353\/fWquHsOK_normal.jpg",
},
"quote_count": 0,
"reply_count": 0,
"retweet_count": 0,
"favorite_count": 0,
"entities": {
"hashtags": [
],
"urls": [
],
"user_mentions": [
{
"screen_name": "BobGreenburg",
"name": "Bob Greenburg",
"id": 483881032,
"id_str": "483881032",
"indices": [
0,
13
]
},
{
"screen_name": "ONeill_Coffee",
"name": "O'NeillCoffeeCompany",
"id": 2804543925,
"id_str": "2804543925",
"indices": [
14,
28
]
}
],
"symbols": [
]
},
}
for (let i = 0; i < 2; i++) {
tweetCell(atweet, $(".leftcol"));
}
function filter(tweets, bannedWords=[], searchWords=[], likesTop=null, likesBottom=null, retweetsTop=null, retweetsBottom=null, repliesTop=null, repliesBottom=null) {
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
}
function filterBannedWords(bannedWords, tweets){
for (let i = 0; i < tweets.length; i++) {
var tweet = tweets[i]
for(let j=0; j < bannedWords.length; j++){
if (tweet.text.toLowerCase().includes(bannedWords[j].toLowerCase())){
tweets.splice(i, 1)
break
}
}
}
return tweets
}
function searchForWords(searchWords, tweets){
for (let i = 0; i < tweets.length; i++) {
var tweet = tweets[i]
for(let i=0; i < searchWords.length; i++){
if (!tweet.text.toLowerCase().includes(searchWords[i].toLowerCase())) {
tweets.splice(i, 1)
break
}
}
}
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
}