Bug 1389165 - Hide caption when no data for table in about:telemetry r?gfritzsche
MozReview-Commit-ID: 7wO2VisFyzI
--- a/toolkit/content/aboutTelemetry.js
+++ b/toolkit/content/aboutTelemetry.js
@@ -1396,22 +1396,27 @@ var Search = {
};
}
}
return [isPassFunc, filter]
},
filterElements(elements, filterText) {
let [isPassFunc, filter] = this.chooseFilter(filterText);
+ let allElementHidden = true;
let needLowerCase = (isPassFunc === this.isPassText);
for (let element of elements) {
let subject = needLowerCase ? element.id.toLowerCase() : element.id;
element.hidden = !isPassFunc(subject, filter);
+ if (allElementHidden && !element.hidden) {
+ allElementHidden = false;
+ }
}
+ return allElementHidden;
},
filterKeyedElements(keyedElements, filterText) {
let [isPassFunc, filter] = this.chooseFilter(filterText);
let needLowerCase = (isPassFunc === this.isPassText);
keyedElements.forEach((keyedElement) => {
let subject = needLowerCase ? keyedElement.key.id.toLowerCase() : keyedElement.key.id;
@@ -1469,17 +1474,20 @@ var Search = {
for (let key of threads) {
let datas = key.getElementsByClassName("histogram");
keyedElements.push({key, datas});
}
this.filterKeyedElements(keyedElements, text);
} else {
let tables = selectedSection.querySelectorAll("table");
for (let table of tables) {
- this.filterElements(table.rows, text);
+ let allElementsHidden = this.filterElements(table.rows, text);
+ if (table.caption) {
+ table.caption.hidden = allElementsHidden;
+ }
}
}
},
}
/*
* Helper function to render JS objects with white space between top level elements
* so that they look better in the browser