diff options
Diffstat (limited to 'client/js/util/views.js')
| -rw-r--r-- | client/js/util/views.js | 35 |
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, }; |