From 92c083ee9ffd4e4d24372c0d74bac7a59621d376 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 25 Oct 2020 19:04:59 -0400 Subject: [PATCH] Sort deck and model names in Anki card settings (#956) --- ext/bg/js/settings/anki-controller.js | 8 ++++++++ 1 file changed, 8 insertions(+) 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 {