From c9cb98ba27ee78df26911dc8da1931c8b69b516c Mon Sep 17 00:00:00 2001 From: David Bauer <mail@david-bauer.net> Date: Sun, 19 Apr 2020 20:09:10 +0200 Subject: [PATCH] app: sort models and vendors case-insensitive Closes #104 --- app.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app.js b/app.js index 26d8c3a..0b391c3 100644 --- a/app.js +++ b/app.js @@ -49,6 +49,10 @@ var firmwarewizard = function() { $(s).style.display = 'none'; } + function sortCaseInsensitive(a, b) { + return a.localeCompare(b, 'en', {'sensitivity': 'base'}); + } + // Object.values() replacement function ObjectValues(obj) { return Object.keys(obj).map(function(key) { return obj[key]; }); @@ -741,7 +745,7 @@ var firmwarewizard = function() { createOption('', '-- Bitte Hersteller wählen --') ); - var vendors = Object.keys(images).sort(); + var vendors = Object.keys(images).sort(sortCaseInsensitive); for (var i in vendors) { select.appendChild( createOption(atomic(vendors[i]), vendors[i], atomic(currentVendor)) @@ -767,7 +771,7 @@ var firmwarewizard = function() { } var prefix = atomic(currentVendor) + ' '; - var models = Object.keys(images[currentVendor]).sort(); + var models = Object.keys(images[currentVendor]).sort(sortCaseInsensitive); for (var i in models) { select.appendChild(createOption( prefix + atomic(models[i]), @@ -1062,10 +1066,10 @@ var firmwarewizard = function() { return td; } - var vendors = Object.keys(images).sort(); + var vendors = Object.keys(images).sort(sortCaseInsensitive); for (var v in vendors) { var vendor = vendors[v]; - var models = Object.keys(images[vendor]).sort(); + var models = Object.keys(images[vendor]).sort(sortCaseInsensitive); for (var m in models) { var model = models[m]; var revisions = sortByRevision(images[vendor][model]); -- GitLab