]> git.sesse.net Git - ultimatescore/commitdiff
Ignore teams in the team list that have no games. This means we can really share...
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Feb 2020 21:35:03 +0000 (22:35 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Feb 2020 21:35:03 +0000 (22:35 +0100)
carousel.js
update_sheets.js

index 00da45cd39529ef3bd1aed7e6a4976955d331a5b..6240c7b91f6658018fb132ffaef83f9346b217c6 100644 (file)
@@ -351,6 +351,7 @@ function parse_teams_from_spreadsheet(response) {
                        "mediumname": response.values[i][1],
                        "shortname": response.values[i][2],
                        //"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,6 +647,7 @@ 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.
        });
index aa4daa6a8559dbeeeed674da59352fa3ea910826..3ee6c8f60c766e80c0ff1977bb8586a76b33b129 100644 (file)
@@ -74,6 +74,7 @@ function publish_group_rank(response, group_name)
        let teams = parse_teams_from_spreadsheet(response);
        let games = parse_games_from_spreadsheet(response, group_name, false);
        apply_games_to_teams(games, teams);
+       teams = filter_teams(teams, response);
 
        // Write the points total to the unsorted columns.
        if (config['point_total_start_row'] !== null) {
@@ -397,6 +398,7 @@ function get_ranked(response, group_name) {
        let teams = parse_teams_from_spreadsheet(response);
        let games = parse_games_from_spreadsheet(response, group_name, false);
        apply_games_to_teams(games, teams);
+       teams = filter_teams(teams, response);
        let tiebreakers = [];
        teams = rank(games, teams, 1, tiebreakers);
        return teams;