summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance/components/waterfall.js
blob: 067033874c52ef6fd5bdd2b29cef3f634709f637 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

/**
 * This file contains the "waterfall" view, essentially a detailed list
 * of all the markers in the timeline data.
 */

const { DOM: dom, createFactory, PropTypes } = require("devtools/client/shared/vendor/react");
const WaterfallHeader = createFactory(require("./waterfall-header"));
const WaterfallTree = createFactory(require("./waterfall-tree"));

function Waterfall(props) {
  return dom.div(
    { className: "waterfall-markers" },
    WaterfallHeader(props),
    WaterfallTree(props)
  );
}

Waterfall.displayName = "Waterfall";

Waterfall.propTypes = {
  marker: PropTypes.object.isRequired,
  startTime: PropTypes.number.isRequired,
  endTime: PropTypes.number.isRequired,
  dataScale: PropTypes.number.isRequired,
  sidebarWidth: PropTypes.number.isRequired,
  waterfallWidth: PropTypes.number.isRequired,
  onFocus: PropTypes.func,
  onBlur: PropTypes.func,
};

module.exports = Waterfall;