ui: Don't show filters when there is only one item

This commit is contained in:
Jeremy Wall 2024-02-25 09:03:18 -05:00
parent 557d704a1b
commit ac52aea6c8

View File

@ -144,18 +144,18 @@ class TimeseriesGraph extends HTMLElement {
}
formatName(meta, labels) {
var name = "";
const formatter = meta.name_format
if (formatter) {
name = eval(formatter);
} else {
var names = [];
for (const value of labels) {
names.push(value);
}
name = names.join(" ");
}
return name;
var name = "";
const formatter = meta.name_format
if (formatter) {
name = eval(formatter);
} else {
var names = [];
for (const value of labels) {
names.push(value);
}
name = names.join(" ");
}
return name;
}
populateFilterData(labels) {
@ -208,8 +208,12 @@ class TimeseriesGraph extends HTMLElement {
// We need to maintain a stable order for these
var children = [];
for (var key of Object.keys(this.#filterLabels).sort()) {
const element = this.#filterSelectElements[key] || this.buildSelectElement(key);
children.push(element);
// If there are multiple items to filter by then show the selectElement.
// otherwise there is no point.
if (this.#filterLabels[key].length > 1) {
const element = this.#filterSelectElements[key] || this.buildSelectElement(key);
children.push(element);
}
}
this.#menuContainer.replaceChildren(...children);
}
@ -237,7 +241,7 @@ class TimeseriesGraph extends HTMLElement {
return function() {
var name = "yaxis";
if (counter != 1) {
name = "yaxis" + counter ;
name = "yaxis" + counter;
}
counter++;
return name;