tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

RequestListColumnOverride.js (2047B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 const {
      8  Component,
      9  createElement,
     10 } = require("resource://devtools/client/shared/vendor/react.mjs");
     11 const dom = require("resource://devtools/client/shared/vendor/react-dom-factories.js");
     12 const PropTypes = require("resource://devtools/client/shared/vendor/react-prop-types.mjs");
     13 const {
     14  connect,
     15 } = require("resource://devtools/client/shared/vendor/react-redux.js");
     16 const {
     17  getOverriddenUrl,
     18 } = require("resource://devtools/client/netmonitor/src/selectors/index.js");
     19 const {
     20  L10N,
     21 } = require("resource://devtools/client/netmonitor/src/utils/l10n.js");
     22 
     23 class RequestListColumnOverrideContent extends Component {
     24  static get propTypes() {
     25    return {
     26      isOverridden: PropTypes.bool.isRequired,
     27      item: PropTypes.object.isRequired,
     28      overriddenUrl: PropTypes.string,
     29    };
     30  }
     31 
     32  render() {
     33    const { isOverridden, overriddenUrl } = this.props;
     34 
     35    return dom.td({
     36      className:
     37        "requests-list-column requests-list-override" +
     38        (isOverridden ? " request-override-enabled" : ""),
     39      title: isOverridden
     40        ? L10N.getFormatStr("netmonitor.override.enabled", overriddenUrl)
     41        : L10N.getStr("netmonitor.override.disabled"),
     42    });
     43  }
     44 }
     45 
     46 const RequestListColumnOverrideInner = connect(
     47  (state, props) => {
     48    const overriddenUrl = getOverriddenUrl(state, props.item.urlDetails?.url);
     49    return {
     50      isOverridden: !!overriddenUrl,
     51      overriddenUrl,
     52    };
     53  },
     54  {},
     55  undefined,
     56  { storeKey: "toolbox-store" }
     57 )(RequestListColumnOverrideContent);
     58 
     59 class RequestListColumnOverride extends Component {
     60  static get propTypes() {
     61    return {
     62      item: PropTypes.object.isRequired,
     63    };
     64  }
     65 
     66  render() {
     67    return createElement(RequestListColumnOverrideInner, {
     68      item: this.props.item,
     69    });
     70  }
     71 }
     72 
     73 module.exports = RequestListColumnOverride;