]> git.sesse.net Git - ultimatescore/blobdiff - quickl3.js
Add a comment about what “Mark game” means.
[ultimatescore] / quickl3.js
index 3fde4499600f771376351a57a76bed2892786630..61628aa4c2a0c0f1298a811bf9327cdeeb47858d 100644 (file)
@@ -1,59 +1,67 @@
-var load_l3 = function(sheet, prefix, cb)
+'use strict';
+
+function load_l3(sheet, prefix, cb)
 {
-       var req = new XMLHttpRequest();
+       let req = new XMLHttpRequest();
        req.onload = function(e) {
-               var response = JSON.parse(req.responseText);
-               var l3s = [];
-               var i;
+               let response = JSON.parse(req.responseText);
+               let l3s = [];
+               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 number = response.values[i][0];
-                       var display_number = response.values[i][1];
+                       let number = response.values[i][0];
+                       let display_number = response.values[i][1];
                        if (number === '') {
                                number = display_number;
                        }
-                       var text = response.values[i][2];
+
+                       let text = response.values[i][2];
                        if (display_number !== undefined && display_number !== '') {
                                text = "&nbsp;" + display_number + "&nbsp;&nbsp;" + text;
                        }
                        text = text.replace(/\n/, '<br />');
-                       var subtext = response.values[i][3];
+                       let subtext = response.values[i][3];
                        if (subtext === undefined || subtext === '') {
-                               subtext = 'TrønDisk 2017';
+                               subtext = ultimateconfig['tournament_title'];
                        }
 
-                       l3s[prefix + number] = {
-                               "text": text,
-                               "subtext": subtext
-                       };
-                       var image = response.values[i][4];
-                       if (image !== undefined && image.match(/^file:/) !== null) {
-                               l3s[prefix + number].image = image;
+                       for (const num of number.split(/;/)) {  // Support multiple numbers.
+                               l3s[prefix + num] = {
+                                       "num": num,
+                                       "raw_text": response.values[i][2],
+                                       "text": text,
+                                       "subtext": subtext
+                               };
+                               let image = response.values[i][4];
+                               if (image !== undefined && image.match(/^file:/) !== null) {
+                                       l3s[prefix + num].image = image.match(/^file:(.*)/)[1];
+                               }
                        }
                }
                cb(l3s, sheet);
        };
-       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();
 };
 
-var current_quick_l3s = [];
+let current_quick_l3s = [];
 
 function quicklowerthird()
 {
-       var code = current_quick_l3s[state['code']];
+       let code = current_quick_l3s[state['code']];
        if (code === undefined) {
                return;
        }
        document.getElementById('lowerthird-headline-content').innerHTML = code.text;
        document.getElementById('lowerthird-subheading-content').innerHTML = code.subtext;
-       var img = document.getElementById('lowerthird-img');
+       let img = document.getElementById('lowerthird-img');
        if (code.image !== undefined) {
                img.src = code.image;
                img.style.display = 'inline';
@@ -64,22 +72,24 @@ function quicklowerthird()
 
        if (state['code'].match(/^C/) === null) {
                setTimeout(function() { hidelowerthird(); }, 4000);
+       } else {
+               setTimeout(function() { hidelowerthird(); }, 6000);
        }
 }
 
 function loadquickl3s(sheets)
 {
-       var newl3s = {};
-       var num_left = 1;
+       let newl3s = {};
+       let num_left = 1;
 
-       for (var prop in sheets) {
+       for (let prop in sheets) {
                if (sheets.hasOwnProperty(prop)) {
                        ++num_left;
                }
        }
 
-       var cb = function(response, group_name) {
-               for (var p in response) {
+       let cb = function(response, group_name) {
+               for (let p in response) {
                        if (response.hasOwnProperty(p)) {
                                newl3s[p] = response[p];
                        }
@@ -89,7 +99,7 @@ function loadquickl3s(sheets)
                }
        };
 
-       for (var prop in sheets) {
+       for (let prop in sheets) {
                if (sheets.hasOwnProperty(prop)) {
                        load_l3(sheets[prop], prop, cb);
                }