'roster_sheet_id': '1ACCrWaicEOFbeoY05SCbCvk2cHF6yAS9WwFOdNJxMIU',
'api_key': 'AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU',
- // Rank, name, points.
- 'score_sheet_cols': {
- 'Group A': [ 'Results!S', 'Results!T', 'Results!U' ],
- 'Group B': [ 'Results!W', 'Results!X', 'Results!Y' ],
- 'Group C': [ 'Results!AA', 'Results!AB', 'Results!AC' ]
+ 'group_cells': {
+ 'Group A': {
+ // Rank, name, points.
+ 'score_sheet_cols': [ 'Results!S', 'Results!T', 'Results!U' ],
+ 'point_total_start_row': 8,
+ 'ranking_list_start_row': 15,
+ 'ranking_list_explain_row': 21
+ },
+ 'Group B': {
+ // Rank, name, points.
+ 'score_sheet_cols': [ 'Results!W', 'Results!X', 'Results!Y' ],
+ 'point_total_start_row': 8,
+ 'ranking_list_start_row': 15,
+ 'ranking_list_explain_row': 21
+ },
+ 'Group C': {
+ // Rank, name, points.
+ 'score_sheet_cols': [ 'Results!AA', 'Results!AB', 'Results!AC' ],
+ 'point_total_start_row': 8,
+ 'ranking_list_start_row': 15,
+ 'ranking_list_explain_row': 21
+ }
},
-
- 'point_total_start_row': 8,
- 'ranking_list_start_row': 15,
- 'ranking_list_explain_row': 21,
'explain_third_cell': 'Results!S26',
'playoff_games': [
function publish_group_rank(response, group_name)
{
let updates = [];
- let cols = ultimateconfig['score_sheet_cols'][group_name];
+ let config = ultimateconfig['group_cells'][group_name];
+ let cols = config['score_sheet_cols'];
let teams = parse_teams_from_spreadsheet(response);
let games = parse_games_from_spreadsheet(response, group_name, false);
apply_games_to_teams(games, teams);
// Write the points total to the unsorted columns.
- for (let i = 0; i < teams.length; ++i) {
- let row = ultimateconfig['point_total_start_row'] + i;
- updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] });
+ if (config['point_total_start_row'] !== null) {
+ for (let i = 0; i < teams.length; ++i) {
+ let row = config['point_total_start_row'] + i;
+ updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] });
+ }
}
let tiebreakers = [];
// Write the ranking table, from scratch.
for (let i = 0; i < teams.length; ++i) {
- let row = ultimateconfig['ranking_list_start_row'] + i;
+ let row = config['ranking_list_start_row'] + i;
updates.push({ "range": cols[0] + row, "values": [ [ teams[i].rank ] ] });
updates.push({ "range": cols[1] + row, "values": [ [ teams[i].mediumname ] ] });
updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] });
if (tiebreakers.length != 0) {
tb_str = tiebreakers.join("\n");
}
- updates.push({ "range": cols[0] + ultimateconfig['ranking_list_explain_row'], "values": [ [ tb_str ] ]});
+ updates.push({ "range": cols[0] + config['ranking_list_explain_row'], "values": [ [ tb_str ] ]});
let json = {
"valueInputOption": "USER_ENTERED",