diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-10-25 19:04:59 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-25 19:04:59 -0400 | 
| commit | 92c083ee9ffd4e4d24372c0d74bac7a59621d376 (patch) | |
| tree | 62e1f173333063fe9c0800d32882f41c55b880a7 | |
| parent | defd7402cffcfb45d85a56b1f093c91d4fd6e866 (diff) | |
Sort deck and model names in Anki card settings (#956)
| -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 { |