]> git.sesse.net Git - ultimatescore/blobdiff - carousel.js
Ignore teams in the team list that have no games. This means we can really share...
[ultimatescore] / carousel.js
index aa195c603fe54b3446e82e6c8d1be558a1e6b333..6240c7b91f6658018fb132ffaef83f9346b217c6 100644 (file)
@@ -350,7 +350,8 @@ function parse_teams_from_spreadsheet(response) {
                        "name": response.values[i][0],
                        "mediumname": response.values[i][1],
                        "shortname": response.values[i][2],
-                       "tags": response.values[i][3],
+                       //"tags": response.values[i][3],
+                       "ngames": 0,
                        "nplayed": 0,
                        "gd": 0,
                        "pts": 0,
@@ -418,6 +419,24 @@ function apply_games_to_teams(games, teams)
        }
 }
 
+// So that we can just have one team list, and let membership be defined by games.
+function filter_teams(teams, response)
+{
+       let teams_to_idx = make_teams_to_idx(teams);
+       let games = parse_games_from_spreadsheet(response, 'irrelevant group name', true);
+       for (let i = 0; i < games.length; ++i) {
+               let idx1 = teams_to_idx[games[i].name1];
+               let idx2 = teams_to_idx[games[i].name2];
+               if (idx1 !== undefined) {
+                       ++teams[idx1].ngames;
+               }
+               if (idx2 !== undefined) {
+                       ++teams[idx2].ngames;
+               }
+       }
+       return teams.filter(function(team) { return team.ngames > 0; });
+}
+
 function display_group_parsed(teams, games, group_name)
 {
        document.getElementById('entire-bug').style.display = 'none';
@@ -628,9 +647,10 @@ function showgroup(group_name)
        get_group(group_name, function(response, group_name) {
                let teams = parse_teams_from_spreadsheet(response);
                let games = parse_games_from_spreadsheet(response, group_name, false);
+               teams = filter_teams(teams, response);
                display_group_parsed(teams, games, group_name);
+               publish_group_rank(response, group_name);  // Update the spreadsheet in the background.
        });
-       publish_group_rank(group_name);  // Update the spreadsheet in the background.
 }
 
 
@@ -650,7 +670,7 @@ function showschedule(page)
 {
        let teams = [];
        let games = [];
-       let num_left = 3;
+       let num_left = 4;
 
        let cb = function(response, group_name) {
                teams = teams.concat(parse_teams_from_spreadsheet(response));
@@ -685,7 +705,7 @@ function showcarousel()
        let games_per_group = [];
        let combined_teams = [];
        let combined_games = [];
-       let num_left = 3;
+       let num_left = 4;
 
        let cb = function(response, group_name) {
                let teams = parse_teams_from_spreadsheet(response);
@@ -752,3 +772,17 @@ function hidematch2()
        document.getElementById('scorebug2').style = css;
        document.getElementById('clockbug2').style = css;
 }
+
+function showmatch3()
+{
+       let css = "-webkit-animation: fade-in 1.0s ease; -webkit-animation-fill-mode: both;";
+       document.getElementById('scorebug3').style = css;
+       document.getElementById('clockbug3').style = css;
+}
+
+function hidematch3()
+{
+       let css = "-webkit-animation: fade-out 1.0s ease; -webkit-animation-fill-mode: both;";
+       document.getElementById('scorebug3').style = css;
+       document.getElementById('clockbug3').style = css;
+}