X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=quickl3.js;h=39f4fc61700527174d4ba2d7697a06037e338027;hb=3c3a5c028bed3922840a2b5ad7ab861fca092582;hp=fc9617357fb2dd26b65d8a8a8bbc65a5be92ae07;hpb=2ed1fb4cea782dee950ed1241ae4e3c54953ef55;p=ultimatescore diff --git a/quickl3.js b/quickl3.js index fc96173..39f4fc6 100644 --- a/quickl3.js +++ b/quickl3.js @@ -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 = " " + 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 = '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.match(/^file:(.*)/)[0]; + } } 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({});