summaryrefslogtreecommitdiff
path: root/client/js/util/views.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/js/util/views.js')
-rw-r--r--client/js/util/views.js35
1 files changed, 31 insertions, 4 deletions
diff --git a/client/js/util/views.js b/client/js/util/views.js
index f6280a1..9958c87 100644
--- a/client/js/util/views.js
+++ b/client/js/util/views.js
@@ -85,7 +85,9 @@ function makeCheckbox(options) {
disabled: options.readonly,
required: options.required,
}),
- makeElement("span", { class: "checkbox" }, options.text)
+ makeElement("span", {
+ class: "checkbox " + (options.class || '')
+ }, options.text)
);
}
@@ -111,7 +113,7 @@ function makeSelect(options) {
}
function makeInput(options) {
- options.value = options.value || "";
+ options.value = options.value === 0 ? 0 : options.value || "";
return _makeLabel(options) + makeElement("input", options);
}
@@ -181,7 +183,11 @@ function getPostUrl(id, parameters) {
return uri.formatClientLink(
"post",
id,
- parameters ? { query: parameters.query } : {}
+ parameters ? {
+ query: parameters.query,
+ metrics: parameters.metrics,
+ cachenumber: parameters.cachenumber,
+ } : {}
);
}
@@ -190,7 +196,23 @@ function getPostEditUrl(id, parameters) {
"post",
id,
"edit",
- parameters ? { query: parameters.query } : {}
+ parameters ? {
+ query: parameters.query,
+ metrics: parameters.metrics,
+ cachenumber: parameters.cachenumber,
+ } : {}
+ );
+}
+
+function getMetricSorterUrl(id, parameters) {
+ return uri.formatClientLink(
+ "post",
+ id,
+ "metric-sorter",
+ parameters ? {
+ query: parameters.query,
+ metrics: parameters.metrics,
+ } : {}
);
}
@@ -300,6 +322,8 @@ function _serializeElement(name, attributes) {
attributes[key] === undefined
) {
return "";
+ } else if (attributes[key] === 0) {
+ return `${key}="0"`;
}
const attribute = misc.escapeHtml(attributes[key] || "");
return `${key}="${attribute}"`;
@@ -432,6 +456,7 @@ function getTemplate(templatePath) {
Object.assign(ctx, {
getPostUrl: getPostUrl,
getPostEditUrl: getPostEditUrl,
+ getMetricSorterUrl: getMetricSorterUrl,
makeRelativeTime: makeRelativeTime,
makeFileSize: makeFileSize,
makeMarkdown: makeMarkdown,
@@ -457,6 +482,7 @@ function getTemplate(templatePath) {
makeCssName: misc.makeCssName,
makeNumericInput: makeNumericInput,
formatClientLink: uri.formatClientLink,
+ escapeTagName: uri.escapeTagName,
});
return htmlToDom(templateFactory(ctx));
};
@@ -594,4 +620,5 @@ module.exports = {
showError: showError,
showSuccess: showSuccess,
showInfo: showInfo,
+ getMetricSorterUrl: getMetricSorterUrl,
};