sort select element depending of interface language
authorLaurent Mazet <mazet@softndesign.org>
Wed, 6 May 2020 10:32:14 +0000 (12:32 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Wed, 6 May 2020 10:32:14 +0000 (12:32 +0200)
public/trivabble.js

index 7437b36e2a03334caf0d7ccaad8645b53256b676..f1da962eedd67d4b1de396bac55f78aee26ca6da 100644 (file)
             }
         }
 
+        var newLangName = [];
+        for (const key in langName) {
+            newLangName.push({"key": key, "value": _(langName[key])});
+        }
+        newLangName = newLangName.sort((a, b) => (a.value > b.value) ? 1 : ((b.value > a.value) ? -1 : 0));
         const select = document.getElementById("board-lang");
-        for (var i = 0; i < select.options.length; i++) {
-            select.options[i].textContent = _(langName[select.options[i].value]);
+        for (var i = 0; i < newLangName.length; i++) {
+            select.options[i] = new Option(newLangName[i].value, newLangName[i].key);
         }
+        select.value = localStorage.trivabbleBoardLang;
 
         trivabble.run();
     };