From 4c3632d3e76cca249c79fdcc2168e435fd1048ec Mon Sep 17 00:00:00 2001 From: chaptergy <26956711+chaptergy@users.noreply.github.com> Date: Sat, 15 May 2021 19:12:43 +0200 Subject: [PATCH] Automatically sort DNS challenge providers by display name on render --- frontend/js/app/nginx/certificates/form.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/js/app/nginx/certificates/form.js b/frontend/js/app/nginx/certificates/form.js index ff488cb..d5d3acd 100644 --- a/frontend/js/app/nginx/certificates/form.js +++ b/frontend/js/app/nginx/certificates/form.js @@ -4,11 +4,20 @@ const App = require('../../main'); const CertificateModel = require('../../../models/certificate'); const template = require('./form.ejs'); const i18n = require('../../i18n'); -const dns_providers = require('../../../../../global/certbot-dns-plugins'); +const dns_providers = sortProvidersAlphabetically(require('../../../../../global/certbot-dns-plugins')); require('jquery-serializejson'); require('selectize'); +function sortProvidersAlphabetically(obj) { + return Object.entries(obj) + .sort((a,b) => a[1].display_name.toLowerCase() > b[1].display_name.toLowerCase()) + .reduce((result, entry) => { + result[entry[0]] = entry[1]; + return result; + }, {}); +} + module.exports = Mn.View.extend({ template: template, className: 'modal-dialog',