3 function load_l3(sheet, prefix, cb)
5 let req = new XMLHttpRequest();
6 req.onload = function(e) {
7 let response = JSON.parse(req.responseText);
10 for (i = 0; i < response.values.length; ++i) {
11 if (response.values[i][0] === 'Number' ||
12 response.values[i][0] === 'Fake #') {
18 for ( ; response.values[i] !== undefined && response.values[i].length >= 3; ++i) {
19 let number = response.values[i][0];
20 let display_number = response.values[i][1];
22 number = display_number;
25 let text = response.values[i][2];
26 if (display_number !== undefined && display_number !== '') {
27 text = " " + display_number + " " + text;
29 text = text.replace(/\n/, '<br />');
30 let subtext = response.values[i][3];
31 if (subtext === undefined || subtext === '') {
32 subtext = ultimateconfig['tournament_title'];
35 for (const num of number.split(/;/)) { // Support multiple numbers.
38 "raw_text": response.values[i][2],
42 let image = response.values[i][4];
43 if (image !== undefined && image.match(/^file:/) !== null) {
44 l3s[prefix + num].image = image.match(/^file:(.*)/)[1];
50 req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['roster_sheet_id'] + '/values/\'' + sheet + '\'!A1:J50?key=' + ultimateconfig['api_key']);
54 let current_quick_l3s = [];
56 function quicklowerthird()
58 let code = current_quick_l3s[state['code']];
59 if (code === undefined) {
62 document.getElementById('lowerthird-headline-content').innerHTML = code.text;
63 document.getElementById('lowerthird-subheading-content').innerHTML = code.subtext;
64 let img = document.getElementById('lowerthird-img');
65 if (code.image !== undefined) {
67 img.style.display = 'inline';
69 img.style.display = 'none';
73 if (state['code'].match(/^C/) === null) {
74 setTimeout(function() { hidelowerthird(); }, 4000);
76 setTimeout(function() { hidelowerthird(); }, 6000);
80 function loadquickl3s(sheets)
85 for (let prop in sheets) {
86 if (sheets.hasOwnProperty(prop)) {
91 let cb = function(response, group_name) {
92 for (let p in response) {
93 if (response.hasOwnProperty(p)) {
94 newl3s[p] = response[p];
97 if (--num_left == 0) {
98 current_quick_l3s = newl3s;
102 for (let prop in sheets) {
103 if (sheets.hasOwnProperty(prop)) {
104 load_l3(sheets[prop], prop, cb);
107 load_l3('Calls', 'C', cb);
110 // Start by loading calls only