X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=quickl3.js;h=61628aa4c2a0c0f1298a811bf9327cdeeb47858d;hb=d14a429ea15184ad2659ba149f3caabef5bfd023;hp=afdeb7890f1ff4c33d8a912ce3498599f85063ed;hpb=525ab020c0d57fd40fab90d61a59796e985d978f;p=ultimatescore diff --git a/quickl3.js b/quickl3.js index afdeb78..61628aa 100644 --- a/quickl3.js +++ b/quickl3.js @@ -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 = " " + display_number + "  " + text; } text = text.replace(/\n/, '
'); - 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,20 +72,24 @@ function quicklowerthird() 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]; } @@ -87,11 +99,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({});