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 {