mirror of
https://github.com/prymitive/karma
synced 2026-05-21 04:33:07 +00:00
Rewrite template.js as CommonJS
This commit is contained in:
@@ -1,77 +1,71 @@
|
||||
/* globals _ */ // underscore.js
|
||||
const $ = require("jquery");
|
||||
const _ = require("underscore");
|
||||
|
||||
/* exported Templates */
|
||||
var Templates = (function() {
|
||||
var templates = {},
|
||||
config = {
|
||||
// popover with the list of most common labels
|
||||
breakdown: "#breakdown",
|
||||
breakdownContent: "#breakdown-content",
|
||||
|
||||
var templates = {},
|
||||
config = {
|
||||
// popover with the list of most common labels
|
||||
breakdown: "#breakdown",
|
||||
breakdownContent: "#breakdown-content",
|
||||
// reload message if backend version bump is detected
|
||||
reloadNeeded: "#reload-needed",
|
||||
|
||||
// reload message if backend version bump is detected
|
||||
reloadNeeded: "#reload-needed",
|
||||
// errors
|
||||
fatalError: "#fatal-error",
|
||||
internalError: "#internal-error",
|
||||
updateError: "#update-error",
|
||||
instanceError: "#instance-error",
|
||||
configError: "#configuration-error",
|
||||
|
||||
// errors
|
||||
fatalError: "#fatal-error",
|
||||
internalError: "#internal-error",
|
||||
updateError: "#update-error",
|
||||
instanceError: "#instance-error",
|
||||
configError: "#configuration-error",
|
||||
// modal popup with label filters
|
||||
modalTitle: "#modal-title",
|
||||
modalBody: "#modal-body",
|
||||
|
||||
// modal popup with label filters
|
||||
modalTitle: "#modal-title",
|
||||
modalBody: "#modal-body",
|
||||
// modal popup with silence form
|
||||
silenceForm: "#silence-form",
|
||||
silenceFormValidationError: "#silence-form-validation-error",
|
||||
silenceFormResults: "#silence-form-results",
|
||||
silenceFormSuccess: "#silence-form-success",
|
||||
silenceFormError: "#silence-form-error",
|
||||
silenceFormFatal: "#silence-form-fatal",
|
||||
silenceFormLoading: "#silence-form-loading",
|
||||
|
||||
// modal popup with silence form
|
||||
silenceForm: "#silence-form",
|
||||
silenceFormValidationError: "#silence-form-validation-error",
|
||||
silenceFormResults: "#silence-form-results",
|
||||
silenceFormSuccess: "#silence-form-success",
|
||||
silenceFormError: "#silence-form-error",
|
||||
silenceFormFatal: "#silence-form-fatal",
|
||||
silenceFormLoading: "#silence-form-loading",
|
||||
// label button
|
||||
buttonLabel: "#label-button-filter",
|
||||
|
||||
// label button
|
||||
buttonLabel: "#label-button-filter",
|
||||
|
||||
// alert group
|
||||
alertGroup: "#alert-group",
|
||||
alertGroupTitle: "#alert-group-title",
|
||||
alertGroupAnnotations: "#alert-group-annotations",
|
||||
alertGroupLabels: "#alert-group-labels",
|
||||
alertGroupElements: "#alert-group-elements",
|
||||
alertGroupSilence: "#alert-group-silence",
|
||||
alertGroupLabelMap: "#alert-group-label-map"
|
||||
};
|
||||
|
||||
var init = function() {
|
||||
$.each(config, function(name, selector) {
|
||||
try {
|
||||
templates[name] = _.template($(selector).html());
|
||||
} catch (err) {
|
||||
console.error("Failed to parse template " + name + " " + selector);
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
// alert group
|
||||
alertGroup: "#alert-group",
|
||||
alertGroupTitle: "#alert-group-title",
|
||||
alertGroupAnnotations: "#alert-group-annotations",
|
||||
alertGroupLabels: "#alert-group-labels",
|
||||
alertGroupElements: "#alert-group-elements",
|
||||
alertGroupSilence: "#alert-group-silence",
|
||||
alertGroupLabelMap: "#alert-group-label-map"
|
||||
};
|
||||
|
||||
var renderTemplate = function(name, context) {
|
||||
var t = templates[name];
|
||||
if (t === undefined) {
|
||||
console.error("Unknown template " + name);
|
||||
return "<div class='jumbotron'><h1>Internal error: unknown template " + name + "</h1></div>";
|
||||
}
|
||||
var init = function() {
|
||||
$.each(config, function(name, selector) {
|
||||
try {
|
||||
return t(context);
|
||||
templates[name] = _.template($(selector).html());
|
||||
} catch (err) {
|
||||
return "<div class='jumbotron'>Failed to render template " + name + "<h1><p>" + err + "</p></h1></div>";
|
||||
console.error("Failed to parse template " + name + " " + selector);
|
||||
console.error(err);
|
||||
}
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
return {
|
||||
Init: init,
|
||||
Render: renderTemplate
|
||||
};
|
||||
var renderTemplate = function(name, context) {
|
||||
var t = templates[name];
|
||||
if (t === undefined) {
|
||||
console.error("Unknown template " + name);
|
||||
return "<div class='jumbotron'><h1>Internal error: unknown template " + name + "</h1></div>";
|
||||
}
|
||||
try {
|
||||
return t(context);
|
||||
} catch (err) {
|
||||
return "<div class='jumbotron'>Failed to render template " + name + "<h1><p>" + err + "</p></h1></div>";
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
||||
exports.init = init;
|
||||
exports.renderTemplate = renderTemplate;
|
||||
|
||||
Reference in New Issue
Block a user