diff --git a/assets/static/templates.js b/assets/static/templates.js index 88dc03d3f..141dea7e8 100644 --- a/assets/static/templates.js +++ b/assets/static/templates.js @@ -43,7 +43,11 @@ var templates = {}, alertGroupLabelMap: "#alert-group-label-map" }; -var init = function() { +function getConfig() { + return config; +} + +function init() { $.each(config, function(name, selector) { try { templates[name] = _.template($(selector).html()); @@ -52,9 +56,9 @@ var init = function() { console.error(err); } }); -}; +} -var renderTemplate = function(name, context) { +function renderTemplate(name, context) { var t = templates[name]; if (t === undefined) { console.error("Unknown template " + name); @@ -65,7 +69,8 @@ var renderTemplate = function(name, context) { } catch (err) { return "
Failed to render template " + name + "

" + err + "

"; } -}; +} exports.init = init; +exports.getConfig = getConfig; exports.renderTemplate = renderTemplate; diff --git a/assets/static/templates.test.js b/assets/static/templates.test.js new file mode 100644 index 000000000..2d56d3479 --- /dev/null +++ b/assets/static/templates.test.js @@ -0,0 +1,11 @@ +const $ = require("jquery"); +const templates = require("./templates"); + +test("templates init()", () => { + var elems = []; + $.each(templates.getConfig(), function(name, selector) { + elems.push("
"); + }); + document.body.innerHTML = elems.join("\n"); + templates.init(); +});