tor-browser

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

GridList.js (2233B)


      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  createFactory,
      9  PureComponent,
     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  getStr,
     15 } = require("resource://devtools/client/inspector/layout/utils/l10n.js");
     16 
     17 const GridItem = createFactory(
     18  require("resource://devtools/client/inspector/grids/components/GridItem.js")
     19 );
     20 
     21 const Types = require("resource://devtools/client/inspector/grids/types.js");
     22 
     23 class GridList extends PureComponent {
     24  static get propTypes() {
     25    return {
     26      dispatch: PropTypes.func.isRequired,
     27      getSwatchColorPickerTooltip: PropTypes.func.isRequired,
     28      grids: PropTypes.arrayOf(PropTypes.shape(Types.grid)).isRequired,
     29      onSetGridOverlayColor: PropTypes.func.isRequired,
     30      onToggleGridHighlighter: PropTypes.func.isRequired,
     31      setSelectedNode: PropTypes.func.isRequired,
     32    };
     33  }
     34 
     35  render() {
     36    const {
     37      dispatch,
     38      getSwatchColorPickerTooltip,
     39      grids,
     40      onSetGridOverlayColor,
     41      onToggleGridHighlighter,
     42      setSelectedNode,
     43    } = this.props;
     44 
     45    return dom.div(
     46      { className: "grid-container" },
     47      dom.span(
     48        {
     49          role: "heading",
     50          "aria-level": "3",
     51        },
     52        getStr("layout.overlayGrid")
     53      ),
     54      dom.ul(
     55        {
     56          id: "grid-list",
     57          className: "devtools-monospace",
     58        },
     59        grids
     60          // Skip subgrids since they are rendered by their parent grids in GridItem.
     61          .filter(grid => !grid.isSubgrid)
     62          .map(grid =>
     63            GridItem({
     64              dispatch,
     65              key: grid.id,
     66              getSwatchColorPickerTooltip,
     67              grid,
     68              grids,
     69              onSetGridOverlayColor,
     70              onToggleGridHighlighter,
     71              setSelectedNode,
     72            })
     73          )
     74      )
     75    );
     76  }
     77 }
     78 
     79 module.exports = GridList;