HeadersPanel.mjs (1563B)
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 /* eslint no-shadow: ["error", { "allow": ["Headers"] }] */ 6 7 import { Component } from "resource://devtools/client/shared/vendor/react.mjs"; 8 import PropTypes from "resource://devtools/client/shared/vendor/react-prop-types.mjs"; 9 import * as dom from "resource://devtools/client/shared/vendor/react-dom-factories.mjs"; 10 import { createFactories } from "resource://devtools/client/shared/react-utils.mjs"; 11 12 import HeadersClass from "resource://devtools/client/jsonview/components/Headers.mjs"; 13 14 const { Headers } = createFactories(HeadersClass); 15 import HeadersToolbarClass from "resource://devtools/client/jsonview/components/HeadersToolbar.mjs"; 16 17 const { HeadersToolbar } = createFactories(HeadersToolbarClass); 18 19 const { div } = dom; 20 21 /** 22 * This template represents the 'Headers' panel 23 * s responsible for rendering its content. 24 */ 25 class HeadersPanel extends Component { 26 static get propTypes() { 27 return { 28 actions: PropTypes.object, 29 data: PropTypes.object, 30 }; 31 } 32 33 constructor(props) { 34 super(props); 35 36 this.state = { 37 data: {}, 38 }; 39 } 40 41 render() { 42 const data = this.props.data; 43 44 return div( 45 { className: "headersPanelBox tab-panel-inner" }, 46 HeadersToolbar({ actions: this.props.actions }), 47 div({ className: "panelContent" }, Headers({ data })) 48 ); 49 } 50 } 51 52 export default { HeadersPanel };