Bug 1393478 - Clear the search filter when switching section r?chutten draft
authorflyingrub <flyinggrub@gmail.com>
Fri, 25 Aug 2017 16:48:58 +0200
changeset 655358 9166a4e5010dca96a7da90fdff5fc5fb865346e3
parent 654592 1b4c59eef820b46eb0037aca68f83a15088db45f
child 655359 008d2a60ecc49148f38ce4bcebbbe582f3f34687
push id76850
push userbmo:flyinggrub@gmail.com
push dateTue, 29 Aug 2017 22:37:30 +0000
reviewerschutten
bugs1393478
milestone57.0a1
Bug 1393478 - Clear the search filter when switching section r?chutten MozReview-Commit-ID: 3Rtr8eLsc77
toolkit/content/aboutTelemetry.js
--- a/toolkit/content/aboutTelemetry.js
+++ b/toolkit/content/aboutTelemetry.js
@@ -1308,16 +1308,20 @@ var Histogram = {
 
     return text.substr(EOL.length); // Trim the EOL before the first line
   },
 };
 
 
 var Search = {
 
+  blacklist: [
+    "raw-payload-section"
+  ],
+
   // Pass if: all non-empty array items match (case-sensitive)
   isPassText(subject, filter) {
     for (let item of filter) {
       if (item.length && subject.indexOf(item) < 0) {
         return false; // mismatch and not a spurious space
       }
     }
     return true;
@@ -1836,27 +1840,29 @@ function displayProcessesSelector(select
     "histograms-section",
     "keyed-histograms-section",
     "events-section"
   ];
   let processes = document.getElementById("processes");
   processes.hidden = !whitelist.includes(selectedSection);
 }
 
+function refreshSearch() {
+  let selectedSection = document.querySelector(".category.selected").getAttribute("value");
+  let search = document.getElementById("search");
+  if (!Search.blacklist.includes(selectedSection)) {
+    Search.search(search.value);
+  }
+}
+
 function adjustSearchState() {
   let selectedSection = document.querySelector(".category.selected").getAttribute("value");
-  let blacklist = [
-    "raw-payload-section"
-  ];
   let search = document.getElementById("search");
-  search.hidden = blacklist.includes(selectedSection);
-  // Filter element on section change.
-  if (!blacklist.includes(selectedSection)) {
-    Search.search(search.value);
-  }
+  search.hidden = Search.blacklist.includes(selectedSection);
+  Search.search(""); // reinitialize search state.
 }
 
 function adjustSection() {
   let selectedCategory = document.querySelector(".category.selected");
   if (!selectedCategory.classList.contains("has-data")) {
     PingPicker._showStructuredPingData();
   }
 }
@@ -2079,18 +2085,18 @@ function onLoad() {
 
   // Render settings.
   Settings.render();
 
   adjustHeaderState();
 
   // Update ping data when async Telemetry init is finished.
   Telemetry.asyncFetchTelemetryData(async () => {
+    urlStateRestore();
     await PingPicker.update();
-    urlStateRestore();
   });
 }
 
 var LateWritesSingleton = {
   renderHeader: function LateWritesSingleton_renderHeader(aIndex) {
     StackRenderer.renderHeader("late-writes", [aIndex + 1]);
   },
 
@@ -2334,18 +2340,18 @@ function togglePingSections(isMainPing) 
   }
 }
 
 function displayPingData(ping, updatePayloadList = false) {
   gPingData = ping;
   try {
     PingPicker.render();
     displayRichPingData(ping, updatePayloadList);
-    adjustSearchState();
     adjustSection();
+    refreshSearch();
   } catch (err) {
     console.log(err);
     PingPicker._showRawPingData();
   }
 }
 
 function displayRichPingData(ping, updatePayloadList) {
   // Update the payload list and process lists