Home / File/ UserTimingMarksView.js — react Source File

UserTimingMarksView.js — react Source File

Architecture documentation for UserTimingMarksView.js, a javascript file in the react codebase. 8 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f["UserTimingMarksView.js"]
  20cc2065_4b5b_fd6b_be12_28f36b0ff4cf["types.js"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf
  bbc225e1_d450_ae58_6679_9240ebe54628["index.js"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> bbc225e1_d450_ae58_6679_9240ebe54628
  e39a99ae_faf3_afd9_4fc8_fa9a6210f1d3["positioning.js"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> e39a99ae_faf3_afd9_4fc8_fa9a6210f1d3
  6fe722ba_3051_6ecf_abe3_62a190c3ad25["positioningScaleFactor"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> 6fe722ba_3051_6ecf_abe3_62a190c3ad25
  83465e3e_5308_9ddc_a12b_a84d78f1c10a["timestampToPosition"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> 83465e3e_5308_9ddc_a12b_a84d78f1c10a
  a1e0fb75_d73e_2a52_2e38_23e1f70979f8["positionToTimestamp"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> a1e0fb75_d73e_2a52_2e38_23e1f70979f8
  25b9c762_593d_45b1_d8ca_eb9b3db001b9["widthToDuration"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> 25b9c762_593d_45b1_d8ca_eb9b3db001b9
  eab2f8f4_2e4c_8e75_87d9_c7d9b524affb["constants.js"]
  f2ccabf0_51db_bb1d_d1c0_68e969b44b5f --> eab2f8f4_2e4c_8e75_87d9_c7d9b524affb
  style f2ccabf0_51db_bb1d_d1c0_68e969b44b5f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import type {UserTimingMark} from '../types';
import type {
  Interaction,
  MouseMoveInteraction,
  Rect,
  Size,
  ViewRefs,
} from '../view-base';

import {
  positioningScaleFactor,
  timestampToPosition,
  positionToTimestamp,
  widthToDuration,
} from './utils/positioning';
import {
  View,
  Surface,
  rectContainsPoint,
  rectIntersectsRect,
  intersectionOfRects,
} from '../view-base';
import {
  COLORS,
  TOP_ROW_PADDING,
  USER_TIMING_MARK_SIZE,
  BORDER_SIZE,
} from './constants';

const ROW_HEIGHT_FIXED =
  TOP_ROW_PADDING + USER_TIMING_MARK_SIZE + TOP_ROW_PADDING;

export class UserTimingMarksView extends View {
  _marks: UserTimingMark[];
  _intrinsicSize: Size;

  _hoveredMark: UserTimingMark | null = null;
  onHover: ((mark: UserTimingMark | null) => void) | null = null;

  constructor(
    surface: Surface,
    frame: Rect,
    marks: UserTimingMark[],
    duration: number,
  ) {
    super(surface, frame);
    this._marks = marks;

    this._intrinsicSize = {
      width: duration,
      height: ROW_HEIGHT_FIXED,
// ... (184 more lines)

Domain

Frequently Asked Questions

What does UserTimingMarksView.js do?
UserTimingMarksView.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does UserTimingMarksView.js depend on?
UserTimingMarksView.js imports 8 module(s): constants.js, index.js, positionToTimestamp, positioning.js, positioningScaleFactor, timestampToPosition, types.js, widthToDuration.
Where is UserTimingMarksView.js in the architecture?
UserTimingMarksView.js is located at packages/react-devtools-timeline/src/content-views/UserTimingMarksView.js (domain: BabelCompiler, directory: packages/react-devtools-timeline/src/content-views).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free