3 function load_roster(sheet, cb)
5 let req = new XMLHttpRequest();
6 req.onload = function(e) {
7 let response = JSON.parse(req.responseText);
10 if (response.values[0].length >= 1 &&
11 response.values[0][0] !== undefined &&
12 response.values[0][0] !== null) {
13 team_name = response.values[0][0];
18 for (i = 0; i < response.values.length; ++i) {
19 if (response.values[i][0] === 'Number' ||
20 response.values[i][0] === 'Fake #') {
26 for ( ; response.values[i] !== undefined && response.values[i].length >= 3; ++i) {
27 let display_number = response.values[i][1];
28 let name = response.values[i][2];
30 "number": display_number,
34 roster.sort(function(a, b) {
37 if (!(parseInt(an) > 0)) an = 1000;
38 if (!(parseInt(bn) > 0)) bn = 1000;
42 return a['name'].localeCompare(b['name']);
44 cb(team_name, roster);
46 req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['roster_sheet_id'] + '/values/\'' + sheet + '\'!A1:J50?key=' + ultimateconfig['api_key']);
50 function display_roster(team_name, roster)
52 document.getElementById('entire-bug').style.display = 'none';
54 let carousel = document.getElementById('carousel');
55 clear_carousel(carousel);
57 if (team_name === '') {
58 addheading(carousel, 4, 'Team lineup');
60 addheading(carousel, 4, 'Team lineup<br />' + team_name);
63 for (let i = 0; i < roster.length; i += 2) {
64 let tr = document.createElement("tr");
66 addth(tr, "playernum", roster[i].number);
67 addtd(tr, "playername", roster[i].name);
69 if (i + 1 < roster.length) {
70 addth(tr, "playernum", roster[i + 1].number);
71 addtd(tr, "playername", roster[i + 1].name);
73 addth(tr, "playernum", "");
74 addtd(tr, "playername", "");
76 carousel.appendChild(tr);
78 fade_in_rows(carousel);
80 carousel.style.display = 'table';
83 function showroster(sheet)
85 load_roster(sheet, display_roster);
88 function showroster_from_state()
90 showroster(state['team_code']);
93 function showrostercarousel(sheet1, sheet2)
95 let team_names = [null, null];
96 let rosters = [null, null];
99 let cb = function(id, team_name, roster) {
100 team_names[id] = team_name;
101 rosters[id] = roster;
102 if (--num_left == 0) {
104 [ 13000, function() { display_roster(team_names[0], rosters[0]); } ],
105 [ 2000, function() { hidetable(); } ],
106 [ 13000, function() { display_roster(team_names[1], rosters[1]); } ],
107 [ 2000, function() { hidetable(); } ]
112 load_roster(sheet1, function(team_name, roster) { cb(0, team_name, roster); });
113 load_roster(sheet2, function(team_name, roster) { cb(1, team_name, roster); });
116 function showrostercarousel_from_state()
118 showrostercarousel(state['team1'], state['team2']);