]> git.sesse.net Git - ultimatescore/commitdiff
Various automatic roster sort improvements.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 14 Oct 2019 18:39:09 +0000 (20:39 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 14 Oct 2019 18:39:09 +0000 (20:39 +0200)
quickhelp.js
quickl3.js
roster.js

index 8c8f2ffd6be307bbb996bd37950bf2e4cde922a6..f74f3e0271d47c1dcd06c4de7d677b27bf88d3c8 100644 (file)
@@ -6,13 +6,23 @@ function make_ul_help(response, group_name, id) {
 
        let ul = document.getElementById(id);
        ul.innerHTML = "";
+
+       let keys = [];
        for (let p in response) {
                if (response.hasOwnProperty(p)) {
-                       let li = document.createElement('li');
-                       li.innerHTML = "<strong>" + p + ":</strong> " + response[p].raw_text;
-                       ul.appendChild(li);
+                       keys.push(p);
                }
        }
+
+       keys.sort(function(a, b) {
+               return response[a]['num'] - response[b]['num'];
+       });
+
+       for (const p of keys) {
+               let li = document.createElement('li');
+               li.innerHTML = "<strong>" + p + ":</strong> " + response[p].raw_text;
+               ul.appendChild(li);
+       }
 }
 
 function updatequickhelp(id, prefix) {
index aef04f364781e20a7ea58c746a9ba463fa6455e5..61628aa4c2a0c0f1298a811bf9327cdeeb47858d 100644 (file)
@@ -21,6 +21,7 @@ function load_l3(sheet, prefix, cb)
                        if (number === '') {
                                number = display_number;
                        }
+
                        let text = response.values[i][2];
                        if (display_number !== undefined && display_number !== '') {
                                text = "&nbsp;" + display_number + "&nbsp;&nbsp;" + text;
@@ -31,14 +32,17 @@ function load_l3(sheet, prefix, cb)
                                subtext = ultimateconfig['tournament_title'];
                        }
 
-                       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:(.*)/)[1];
+                       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);
index 638b37337f2e238db604048642fb19355500c319..14f1cb46160b04f73e897ba2fa93b137f87d9783 100644 (file)
--- a/roster.js
+++ b/roster.js
@@ -31,6 +31,16 @@ function load_roster(sheet, cb)
                                "name": name
                        });
                }
+               roster.sort(function(a, b) {
+                       let an = a['number'];
+                       let bn = b['number'];
+                       if (!(parseInt(an) > 0)) an = 1000;
+                       if (!(parseInt(bn) > 0)) bn = 1000;
+                       if (an !== bn) {
+                               return an - bn;
+                       }
+                       return a['name'].localeCompare(b['name']);
+               });
                cb(team_name, roster);
        };
        req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['roster_sheet_id'] + '/values/\'' + sheet + '\'!A1:J50?key=' + ultimateconfig['api_key']);