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;