summaryrefslogtreecommitdiff
path: root/ext/bg/js/settings
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js/settings')
-rw-r--r--ext/bg/js/settings/anki-controller.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/bg/js/settings/anki-controller.js b/ext/bg/js/settings/anki-controller.js
index e7ee2074..8e4486cd 100644
--- a/ext/bg/js/settings/anki-controller.js
+++ b/ext/bg/js/settings/anki-controller.js
@@ -36,6 +36,7 @@ class AnkiController {
'clipboard-image',
'clipboard-text'
]);
+ this._stringComparer = new Intl.Collator(); // Locale does not matter
this._ankiOptions = null;
this._getAnkiDataPromise = null;
this._ankiErrorContainer = null;
@@ -210,6 +211,7 @@ class AnkiController {
async _getDeckNames() {
try {
const result = await this._ankiConnect.getDeckNames();
+ this._sortStringArray(result);
return [result, null];
} catch (e) {
return [[], e];
@@ -219,6 +221,7 @@ class AnkiController {
async _getModelNames() {
try {
const result = await this._ankiConnect.getModelNames();
+ this._sortStringArray(result);
return [result, null];
} catch (e) {
return [[], e];
@@ -270,6 +273,11 @@ class AnkiController {
}
return markers;
}
+
+ _sortStringArray(array) {
+ const stringComparer = this._stringComparer;
+ array.sort((a, b) => stringComparer.compare(a, b));
+ }
}
class AnkiCardController {