]> git.sesse.net Git - ultimatescore/blobdiff - roster.js
Make the roster scripts executable.
[ultimatescore] / roster.js
index b9230fd113ab1c9a68f04559e3587d85bda8d01c..14f1cb46160b04f73e897ba2fa93b137f87d9783 100644 (file)
--- a/roster.js
+++ b/roster.js
@@ -1,36 +1,49 @@
+'use strict';
+
 function load_roster(sheet, cb)
 {
-       var req = new XMLHttpRequest();
+       let req = new XMLHttpRequest();
        req.onload = function(e) {
-               var response = JSON.parse(req.responseText);
+               let response = JSON.parse(req.responseText);
 
-               var team_name = '';
+               let team_name = '';
                if (response.values[0].length >= 1 &&
                    response.values[0][0] !== undefined &&
                    response.values[0][0] !== null) {
                        team_name = response.values[0][0];
                }
 
-               var roster = [];
-               var i;
+               let roster = [];
+               let i;
                for (i = 0; i < response.values.length; ++i) {
-                       if (response.values[i][0] === 'Number') {
+                       if (response.values[i][0] === 'Number' ||
+                           response.values[i][0] === 'Fake #') {
                                ++i;
                                break;
                        }
                }
 
                for ( ; response.values[i] !== undefined && response.values[i].length >= 3; ++i) {
-                       var display_number = response.values[i][1];
-                       var name = response.values[i][2];
+                       let display_number = response.values[i][1];
+                       let name = response.values[i][2];
                        roster.push({
                                "number": display_number,
                                "name": name
                        });
                }
+               roster.sort(function(a, b) {
+                       let an = a['number'];
+                       let bn = b['number'];
+                       if (!(parseInt(an) > 0)) an = 1000;
+                       if (!(parseInt(bn) > 0)) bn = 1000;
+                       if (an !== bn) {
+                               return an - bn;
+                       }
+                       return a['name'].localeCompare(b['name']);
+               });
                cb(team_name, roster);
        };
-       req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/1RciMlauWxqM9LYKdsY6lPjJbIAcHJpCXTqyZSEHxH3U/values/\'' + sheet + '\'!A1:J50?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU');
+       req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['roster_sheet_id'] + '/values/\'' + sheet + '\'!A1:J50?key=' + ultimateconfig['api_key']);
        req.send();
 };
 
@@ -38,7 +51,7 @@ function display_roster(team_name, roster)
 {
        document.getElementById('entire-bug').style.display = 'none';
 
-       var carousel = document.getElementById('carousel');
+       let carousel = document.getElementById('carousel');
        clear_carousel(carousel);
 
        if (team_name === '') {
@@ -47,8 +60,8 @@ function display_roster(team_name, roster)
                addheading(carousel, 4, 'Team lineup<br />' + team_name);
        }
 
-       for (var i = 0; i < roster.length; i += 2) {
-               var tr = document.createElement("tr");
+       for (let i = 0; i < roster.length; i += 2) {
+               let tr = document.createElement("tr");
 
                addth(tr, "playernum", roster[i].number);
                addtd(tr, "playername", roster[i].name);
@@ -79,11 +92,11 @@ function showroster_from_state()
 
 function showrostercarousel(sheet1, sheet2)
 {
-       var team_names = [null, null];
-       var rosters = [null, null];
-       var num_left = 2;
+       let team_names = [null, null];
+       let rosters = [null, null];
+       let num_left = 2;
 
-       var cb = function(id, team_name, roster) {
+       let cb = function(id, team_name, roster) {
                team_names[id] = team_name;
                rosters[id] = roster;
                if (--num_left == 0) {