diff options
| -rw-r--r-- | ext/bg/js/settings/anki-controller.js | 8 | 
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 { |