Bug 1328822 - cache getSelectedRequest with reselect; r=jsnajdr draft
authorFred Lin <gasolin@mozilla.com>
Thu, 05 Jan 2017 17:10:25 +0800
changeset 456275 530cb2e7b8fc30fbcc1387c6cb447a1eba62a384
parent 456274 7fe7e01ef361d56091d288bb78c5df47a3ea8358
child 541174 eb7efe7534a4539a0a6f65fcd6f751fbc5ceb58b
push id40441
push userbmo:gasolin@mozilla.com
push dateThu, 05 Jan 2017 09:10:56 +0000
reviewersjsnajdr
bugs1328822
milestone53.0a1
Bug 1328822 - cache getSelectedRequest with reselect; r=jsnajdr MozReview-Commit-ID: Eo6repa3Z8z
devtools/client/netmonitor/selectors/requests.js
--- a/devtools/client/netmonitor/selectors/requests.js
+++ b/devtools/client/netmonitor/selectors/requests.js
@@ -88,32 +88,35 @@ const getDisplayedRequestsSummary = crea
     return {
       count: requests.size,
       bytes: totalBytes,
       millis: totalMillis,
     };
   }
 );
 
+const getSelectedRequest = createSelector(
+  state => state.requests,
+  requests => {
+    if (!requests.selectedId) {
+      return null;
+    }
+
+    return requests.requests.find(r => r.id === requests.selectedId);
+  }
+);
+
 function getRequestById(state, id) {
   return state.requests.requests.find(r => r.id === id);
 }
 
 function getDisplayedRequestById(state, id) {
   return getDisplayedRequests(state).find(r => r.id === id);
 }
 
-function getSelectedRequest(state) {
-  if (!state.requests.selectedId) {
-    return null;
-  }
-
-  return getRequestById(state, state.requests.selectedId);
-}
-
 module.exports = {
-  getSortedRequests,
+  getDisplayedRequestById,
   getDisplayedRequests,
   getDisplayedRequestsSummary,
   getRequestById,
-  getDisplayedRequestById,
   getSelectedRequest,
+  getSortedRequests,
 };