CanvasPageContextMenu.js — react Source File
Architecture documentation for CanvasPageContextMenu.js, a javascript file in the react codebase. 11 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR e0a3b260_ea80_6b59_5c7d_18081c4333a6["CanvasPageContextMenu.js"] 8fb21ca8_170b_4b4c_4dd4_5e259db0c418["getBatchRange.js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 d0e34df5_54e0_bd63_7394_3bfe61a4c376["scrollState.js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> d0e34df5_54e0_bd63_7394_3bfe61a4c376 73b69eb1_1def_ae18_854c_a93b29fe5e7d["moveStateToRange"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 73b69eb1_1def_ae18_854c_a93b29fe5e7d d587018b_e3d9_bf04_a734_058fe7e6a39c["constants.js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> d587018b_e3d9_bf04_a734_058fe7e6a39c 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf["types.js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf ac587885_e294_a1e9_b13f_5e7b920fdb42["react"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> ac587885_e294_a1e9_b13f_5e7b920fdb42 1e290487_2c6f_fbaf_7be9_e14d5df52457["clipboard-js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 1e290487_2c6f_fbaf_7be9_e14d5df52457 65e567e3_019e_417b_4fbd_5664e20f8b65["pretty-ms"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 65e567e3_019e_417b_4fbd_5664e20f8b65 40d37623_f618_af18_bf41_59b7ec3ea435["ContextMenuContainer"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 40d37623_f618_af18_bf41_59b7ec3ea435 b69d8d17_a331_bd78_20f6_a9cb90ca08bf["withPermissionsCheck"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> b69d8d17_a331_bd78_20f6_a9cb90ca08bf bdc8c8c8_856f_275b_7f07_c7484f8436f6["types"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> bdc8c8c8_856f_275b_7f07_c7484f8436f6 d5e5a241_0d88_22ae_6561_9211ad78e796["CanvasPage.js"] d5e5a241_0d88_22ae_6561_9211ad78e796 --> e0a3b260_ea80_6b59_5c7d_18081c4333a6 style e0a3b260_ea80_6b59_5c7d_18081c4333a6 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 * as React from 'react';
import {useMemo} from 'react';
import {copy} from 'clipboard-js';
import prettyMilliseconds from 'pretty-ms';
import ContextMenuContainer from 'react-devtools-shared/src/devtools/ContextMenu/ContextMenuContainer';
import {withPermissionsCheck} from 'react-devtools-shared/src/frontend/utils/withPermissionsCheck';
import {getBatchRange} from './utils/getBatchRange';
import {moveStateToRange} from './view-base/utils/scrollState';
import {MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL} from './view-base/constants';
import type {
ContextMenuItem,
ContextMenuRef,
} from 'react-devtools-shared/src/devtools/ContextMenu/types';
import type {
ReactEventInfo,
ReactMeasure,
TimelineData,
ViewState,
} from './types';
function zoomToBatch(
data: TimelineData,
measure: ReactMeasure,
viewState: ViewState,
width: number,
) {
const {batchUID} = measure;
const [rangeStart, rangeEnd] = getBatchRange(batchUID, data);
// Convert from time range to ScrollState
const scrollState = moveStateToRange({
state: viewState.horizontalScrollState,
rangeStart,
rangeEnd,
contentLength: data.duration,
minContentLength: data.duration * MIN_ZOOM_LEVEL,
maxContentLength: data.duration * MAX_ZOOM_LEVEL,
containerLength: width,
});
viewState.updateHorizontalScrollState(scrollState);
}
function copySummary(data: TimelineData, measure: ReactMeasure) {
const {batchUID, duration, timestamp, type} = measure;
const [startTime, stopTime] = getBatchRange(batchUID, data);
// ... (123 more lines)
Domain
Subdomains
Dependencies
- ContextMenuContainer
- clipboard-js
- constants.js
- getBatchRange.js
- moveStateToRange
- pretty-ms
- react
- scrollState.js
- types
- types.js
- withPermissionsCheck
Source
Frequently Asked Questions
What does CanvasPageContextMenu.js do?
CanvasPageContextMenu.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in CanvasPageContextMenu.js?
CanvasPageContextMenu.js defines 3 function(s): CanvasPageContextMenu, copySummary, zoomToBatch.
What does CanvasPageContextMenu.js depend on?
CanvasPageContextMenu.js imports 11 module(s): ContextMenuContainer, clipboard-js, constants.js, getBatchRange.js, moveStateToRange, pretty-ms, react, scrollState.js, and 3 more.
What files import CanvasPageContextMenu.js?
CanvasPageContextMenu.js is imported by 1 file(s): CanvasPage.js.
Where is CanvasPageContextMenu.js in the architecture?
CanvasPageContextMenu.js is located at packages/react-devtools-timeline/src/CanvasPageContextMenu.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-timeline/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free