]> git.sesse.net Git - ultimatescore/commitdiff
Start working on the backend for quick lower thirds.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 23 Oct 2017 18:23:41 +0000 (20:23 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 23 Oct 2017 18:23:41 +0000 (20:23 +0200)
quickl3.js [new file with mode: 0644]
score.html

diff --git a/quickl3.js b/quickl3.js
new file mode 100644 (file)
index 0000000..db8f7b4
--- /dev/null
@@ -0,0 +1,85 @@
+var load_l3 = function(sheet, prefix, cb)
+{
+       var req = new XMLHttpRequest();
+       req.onload = function(e) {
+               var response = JSON.parse(req.responseText);
+               var l3s = [];
+               var i;
+               for (i = 0; i < response.values.length; ++i) {
+                       if (response.values[i][0] === 'Number') {
+                               ++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];
+                       if (number === '') {
+                               number = display_number;
+                       }
+                       var text = response.values[i][2];
+                       if (display_number !== undefined && display_number !== '') {
+                               text = "&nbsp;" + display_number + "&nbsp;&nbsp;" + text;
+                       }
+                       var subtext = response.values[i][3];
+                       if (subtext === undefined || subtext === '') {
+                               subtext = 'TrønDisk 2017';
+                       }
+
+                       l3s[prefix + number] = {
+                               "text": text,
+                               "subtext": subtext
+                       };
+               }
+               cb(l3s, sheet);
+       };
+       req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/1RciMlauWxqM9LYKdsY6lPjJbIAcHJpCXTqyZSEHxH3U/values/\'' + sheet + '\'!A1:J50?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU');
+       req.send();
+};
+
+var current_quick_l3s = [];
+
+function quicklowerthird()
+{
+       var 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;
+       showlowerthird();
+
+       if (state['code'].match(/^C/) === null) {
+               setTimeout(function() { hidelowerthird(); }, 4000);
+       }
+}
+
+function loadquickl3s()
+{
+       var sheet_a = state['A'];
+       var sheet_b = state['B'];
+       var sheet_c = 'Calls';
+
+       var newl3s = {};
+       var num_left = 3;
+
+       var cb = function(response, group_name) {
+               for (var p in response) {
+                       if (response.hasOwnProperty(p)) {
+                               newl3s[p] = response[p];
+                       }
+               }
+               if (--num_left == 0) {
+                       current_quick_l3s = newl3s;
+               }
+       };
+
+       load_l3(sheet_a, 'A', cb);
+       load_l3(sheet_b, 'B', cb);
+       load_l3(sheet_c, 'C', cb);
+}
+
+// Test
+state = { 'A': 'TFK', 'B': 'ESK' };
+loadquickl3s();
index 8f535a43d1da050920f48583630dc429a215177c..b9863db020bd71b133102e929678ce1827f0f801 100644 (file)
@@ -73,5 +73,6 @@
 
 <script src="carousel.js" type="text/javascript"></script>
 <script src="score.js" type="text/javascript"></script>
+<script src="quickl3.js" type="text/javascript"></script>
   </body>
 </html>