]> git.sesse.net Git - ultimatescore/blobdiff - quickl3.js
Update the rosters for the new NM2018 sheet.
[ultimatescore] / quickl3.js
index fc9617357fb2dd26b65d8a8a8bbc65a5be92ae07..0ef871e86c54ff8aa879381112b590856d9cdb58 100644 (file)
@@ -1,72 +1,91 @@
-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 = 'Norwegian Ultimate Championships 2018';
                        }
 
                        l3s[prefix + number] = {
+                               "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 + number].image = image;
+                       }
                }
                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/1VyLIS2GeohLlIRFs6c8kk6g0ZnBFXXiYNh_JROC-iZM/values/\'' + sheet + '\'!A1:J50?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU');
        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;
+       let img = document.getElementById('lowerthird-img');
+       if (code.image !== undefined) {
+               img.src = code.image;
+               img.style.display = 'inline';
+       } else {
+               img.style.display = 'none';
+       }
        showlowerthird();
 
        if (state['code'].match(/^C/) === null) {
                setTimeout(function() { hidelowerthird(); }, 4000);
+       } else {
+               setTimeout(function() { hidelowerthird(); }, 6000);
        }
 }
 
-function loadquickl3s()
+function loadquickl3s(sheets)
 {
-       var sheet_a = state['A'];
-       var sheet_b = state['B'];
-       var sheet_c = 'Calls';
+       let newl3s = {};
+       let num_left = 1;
 
-       var newl3s = {};
-       var num_left = 3;
+       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];
                        }
@@ -76,11 +95,13 @@ function loadquickl3s()
                }
        };
 
-       load_l3(sheet_a, 'A', cb);
-       load_l3(sheet_b, 'B', cb);
-       load_l3(sheet_c, 'C', cb);
+       for (let prop in sheets) {
+               if (sheets.hasOwnProperty(prop)) {
+                       load_l3(sheets[prop], prop, cb);
+               }
+       }
+       load_l3('Calls', 'C', cb);
 }
 
-// Test
-state = { 'A': 'TFK', 'B': 'ESK' };
-loadquickl3s();
+// Start by loading calls only
+loadquickl3s({});