diff --git a/exec/fido-nodelist-browser.js b/exec/fido-nodelist-browser.js index 14b594b3950dd2d0309a0e9c65b3aece656c26ae..2b660df810249cdbcf9e870675d86b81e66ba7b6 100644 --- a/exec/fido-nodelist-browser.js +++ b/exec/fido-nodelist-browser.js @@ -155,20 +155,20 @@ function populate_zone_tree(filename, tree, settings) { }); } -function populate_domain_tree(filename, tree, settings) { +function populate_domain_tree(filename, domain, tree, settings) { try { const nodelist = new NodeList(filename); } catch (err) { log(LOG_ERR, format('Error parsing %s: %s', filename, err)); return; } - const domain_tree = tree.addTree(nodelist.domain); + const domain_tree = tree.addTree(domain); const idx = tree.items.length - 1; domain_tree.onOpen = function () { populate_zone_tree(filename, domain_tree, settings); if (settings.auto_close_domain) { tree.items.forEach(function (e) { - if (e.text != nodelist.domain) { + if (e.text != domain_tree.text) { e.close(); e.index = -1; } @@ -185,11 +185,13 @@ function populate_tree(tree, settings) { const ftn_domains = new FTNDomains(); Object.keys(ftn_domains.nodeListFN).forEach(function (e) { if (!file_exists(ftn_domains.nodeListFN[e])) return; - populate_domain_tree(ftn_domains.nodeListFN[e], tree, settings); + const dn = settings['domain_' + e] || e; + populate_domain_tree(ftn_domains.nodeListFN[e], dn, tree, settings); }); Object.keys(settings).forEach(function (e) { if (e.search(/^nodelist_/) > -1 && file_exists(settings[e])) { - populate_domain_tree(settings[e], tree, settings); + const dn = e.replace(/^nodelist_/, ''); + populate_domain_tree(settings[e], dn, tree, settings); } }); tree.items.sort(function (a, b) {