]> git.sesse.net Git - ultimatescore/commitdiff
Move around the handling of quick lower thirds.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 3 Oct 2021 12:13:49 +0000 (14:13 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 3 Oct 2021 12:19:50 +0000 (14:19 +0200)
The extra info stuff is now neatly hidden away to the right of the info field,
so nobody really gets confused anymore (it can be blank, and will pick up
the team name). Also, fake numbers are automatically added as needed.

quickl3.js

index 61628aa4c2a0c0f1298a811bf9327cdeeb47858d..8977f7fdb5b13ebe57a55f7973a86be9da726dd7 100644 (file)
@@ -15,31 +15,69 @@ function load_l3(sheet, prefix, cb)
                        }
                }
 
+               let players = [];
                for ( ; response.values[i] !== undefined && response.values[i].length >= 3; ++i) {
-                       let number = response.values[i][0];
-                       let display_number = response.values[i][1];
+                       players.push({
+                               "number": response.values[i][0],
+                               "display_number": response.values[i][1],
+                               "text": response.values[i][2],
+                               "subtext": response.values[i][4],  // To the right of the “info” column.
+                               "image": response.values[i][5]
+                       });
+               }
+
+               // Assign fake numbers to those that have none.
+               let used_numbers = {};
+               for (const player of players) {
+                       used_numbers[player.number] = 1;
+               }
+               for (let player of players) {
+                       let num = player.number;
+                       if (num !== '' && num !== undefined) {
+                               continue;
+                       }
+                       num = parseInt(player.display_number);
+                       if (num >= 1 && num <= 999 && !used_numbers.hasOwnProperty(num)) {
+                               player.number = '' + num;
+                       }
+               }
+               for (let player of players) {
+                       let num = player.number;
+                       if (num !== '' && num !== undefined) {
+                               continue;
+                       }
+                       num = 1;
+                       while (used_numbers.hasOwnProperty(num)) { ++num; }
+                       player.number = '' + num;
+                       used_numbers[num] = 1;
+               }
+
+               for (const player of players) {
+                       let number = player.number;
+                       let display_number = player.display_number;
                        if (number === '') {
                                number = display_number;
                        }
 
-                       let text = response.values[i][2];
+                       let text = player.text;
                        if (display_number !== undefined && display_number !== '') {
                                text = "&nbsp;" + display_number + "&nbsp;&nbsp;" + text;
                        }
                        text = text.replace(/\n/, '<br />');
-                       let subtext = response.values[i][3];
+                       let subtext = player.subtext;
                        if (subtext === undefined || subtext === '') {
-                               subtext = ultimateconfig['tournament_title'];
+                               // subtext = ultimateconfig['tournament_title'];
+                               subtext = response.values[0][0];
                        }
 
                        for (const num of number.split(/;/)) {  // Support multiple numbers.
                                l3s[prefix + num] = {
                                        "num": num,
-                                       "raw_text": response.values[i][2],
+                                       "raw_text": player.text,
                                        "text": text,
                                        "subtext": subtext
                                };
-                               let image = response.values[i][4];
+                               let image = player.image;
                                if (image !== undefined && image.match(/^file:/) !== null) {
                                        l3s[prefix + num].image = image.match(/^file:(.*)/)[1];
                                }