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

@ -89,7 +89,7 @@ class TimeseriesGraph extends HTMLElement {
var self = this; var self = this;
this.reset(); this.reset();
} }
disconnectedCallback() { disconnectedCallback() {
this.stopInterval() this.stopInterval()
} }
@ -144,18 +144,18 @@ class TimeseriesGraph extends HTMLElement {
} }
formatName(meta, labels) { formatName(meta, labels) {
var name = ""; var name = "";
const formatter = meta.name_format const formatter = meta.name_format
if (formatter) { if (formatter) {
name = eval(formatter); name = eval(formatter);
} else { } else {
var names = []; var names = [];
for (const value of labels) { for (const value of labels) {
names.push(value); names.push(value);
} }
name = names.join(" "); name = names.join(" ");
} }
return name; return name;
} }
populateFilterData(labels) { populateFilterData(labels) {
@ -189,7 +189,7 @@ class TimeseriesGraph extends HTMLElement {
optElement.innerText = opt; optElement.innerText = opt;
select.appendChild(optElement); select.appendChild(optElement);
} }
var self = this; var self = this;
select.onchange = function(evt) { select.onchange = function(evt) {
evt.stopPropagation(); evt.stopPropagation();
@ -208,8 +208,12 @@ class TimeseriesGraph extends HTMLElement {
// We need to maintain a stable order for these // We need to maintain a stable order for these
var children = []; var children = [];
for (var key of Object.keys(this.#filterLabels).sort()) { for (var key of Object.keys(this.#filterLabels).sort()) {
const element = this.#filterSelectElements[key] || this.buildSelectElement(key); // If there are multiple items to filter by then show the selectElement.
children.push(element); // 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); this.#menuContainer.replaceChildren(...children);
} }
@ -237,7 +241,7 @@ class TimeseriesGraph extends HTMLElement {
return function() { return function() {
var name = "yaxis"; var name = "yaxis";
if (counter != 1) { if (counter != 1) {
name = "yaxis" + counter ; name = "yaxis" + counter;
} }
counter++; counter++;
return name; return name;