Преглед изворни кода

Automatically sort DNS challenge providers by display name on render

chaptergy пре 4 година
родитељ
комит
4c3632d3e7
1 измењених фајлова са 10 додато и 1 уклоњено
  1. 10 1
      frontend/js/app/nginx/certificates/form.js

+ 10 - 1
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',