Bug 1362023 - WIP - Hide persist logs checkbox in Browser Console draft
authorBrian Grinstead <bgrinstead@mozilla.com>
Thu, 01 Feb 2018 14:29:35 -0800
changeset 750322 f3fa522166623f6c14caef410464129208a04e90
parent 750321 95002ee6c683a238442f592b0e32eed635f2d886
push id97623
push userbgrinstead@mozilla.com
push dateThu, 01 Feb 2018 22:29:58 +0000
bugs1362023
milestone60.0a1
Bug 1362023 - WIP - Hide persist logs checkbox in Browser Console MozReview-Commit-ID: 18tPPEluJW6
devtools/client/webconsole/new-console-output/components/FilterBar.js
devtools/client/webconsole/new-console-output/reducers/ui.js
devtools/client/webconsole/new-console-output/store.js
--- a/devtools/client/webconsole/new-console-output/components/FilterBar.js
+++ b/devtools/client/webconsole/new-console-output/components/FilterBar.js
@@ -26,16 +26,17 @@ class FilterBar extends Component {
     return {
       dispatch: PropTypes.func.isRequired,
       filter: PropTypes.object.isRequired,
       serviceContainer: PropTypes.shape({
         attachRefToHud: PropTypes.func.isRequired,
       }).isRequired,
       filterBarVisible: PropTypes.bool.isRequired,
       persistLogs: PropTypes.bool.isRequired,
+      persistLogsHidden: PropTypes.bool.isRequired,
       filteredMessagesCount: PropTypes.object.isRequired,
     };
   }
 
   constructor(props) {
     super(props);
     this.onClickMessagesClear = this.onClickMessagesClear.bind(this);
     this.onClickFilterBarToggle = this.onClickFilterBarToggle.bind(this);
@@ -62,16 +63,20 @@ class FilterBar extends Component {
     if (nextProps.filterBarVisible !== this.props.filterBarVisible) {
       return true;
     }
 
     if (nextProps.persistLogs !== this.props.persistLogs) {
       return true;
     }
 
+    if (nextProps.persistLogsHidden !== this.props.persistLogsHidden) {
+      return true;
+    }
+
     if (
       JSON.stringify(nextProps.filteredMessagesCount)
       !== JSON.stringify(this.props.filteredMessagesCount)
     ) {
       return true;
     }
 
     return false;
@@ -214,16 +219,17 @@ class FilterBar extends Component {
     );
   }
 
   render() {
     const {
       filter,
       filterBarVisible,
       persistLogs,
+      persistLogsHidden,
       filteredMessagesCount,
     } = this.props;
 
     let children = [
       dom.div({
         className: "devtools-toolbar webconsole-filterbar-primary",
         key: "primary-bar",
       },
@@ -243,17 +249,17 @@ class FilterBar extends Component {
         }),
         dom.input({
           className: "devtools-plaininput text-filter",
           type: "search",
           value: filter.text,
           placeholder: l10n.getStr("webconsole.filterInput.placeholder"),
           onInput: this.onSearchInput
         }),
-        FilterCheckbox({
+        persistLogsHidden ? null : FilterCheckbox({
           label: l10n.getStr("webconsole.enablePersistentLogs.label"),
           title: l10n.getStr("webconsole.enablePersistentLogs.tooltip"),
           onChange: this.onChangePersistToggle,
           checked: persistLogs,
         }),
       )
     ];
 
@@ -278,13 +284,14 @@ class FilterBar extends Component {
 }
 
 function mapStateToProps(state) {
   let uiState = getAllUi(state);
   return {
     filter: getAllFilters(state),
     filterBarVisible: uiState.filterBarVisible,
     persistLogs: uiState.persistLogs,
+    persistLogsHidden: uiState.persistLogsHidden,
     filteredMessagesCount: getFilteredMessagesCount(state),
   };
 }
 
 module.exports = connect(mapStateToProps)(FilterBar);
--- a/devtools/client/webconsole/new-console-output/reducers/ui.js
+++ b/devtools/client/webconsole/new-console-output/reducers/ui.js
@@ -20,16 +20,17 @@ const {
   PANELS,
 } = require("devtools/client/netmonitor/src/constants");
 
 const UiState = (overrides) => Object.freeze(Object.assign({
   filterBarVisible: false,
   initialized: false,
   networkMessageActiveTabId: PANELS.HEADERS,
   persistLogs: false,
+  persistLogsHidden: false,
   sidebarVisible: false,
   timestampsVisible: true,
   gripInSidebar: null
 }, overrides));
 
 function ui(state = UiState(), action) {
   switch (action.type) {
     case FILTER_BAR_TOGGLE:
--- a/devtools/client/webconsole/new-console-output/store.js
+++ b/devtools/client/webconsole/new-console-output/store.js
@@ -55,16 +55,17 @@ function configureStore(hud, options = {
       css: Services.prefs.getBoolPref(PREFS.FILTER.CSS),
       net: Services.prefs.getBoolPref(PREFS.FILTER.NET),
       netxhr: Services.prefs.getBoolPref(PREFS.FILTER.NETXHR),
     }),
     ui: UiState({
       filterBarVisible: Services.prefs.getBoolPref(PREFS.UI.FILTER_BAR),
       networkMessageActiveTabId: "headers",
       persistLogs: Services.prefs.getBoolPref(PREFS.UI.PERSIST),
+      persistLogsHidden: hud.isBrowserConsole,
     })
   };
 
   return createStore(
     createRootReducer(),
     initialState,
     compose(
       applyMiddleware(thunk),