MCPcopy
hub / github.com/wavetermdev/waveterm / handleHeaderContextMenu

Function handleHeaderContextMenu

frontend/app/block/blockframe-header.tsx:34–69  ·  view source on GitHub ↗
(
    e: React.MouseEvent<HTMLDivElement>,
    blockId: string,
    viewModel: ViewModel,
    nodeModel: NodeModel,
    blockEnv: BlockEnv
)

Source from the content-addressed store, hash-verified

32import { BlockFrameProps } from "./blocktypes";
33
34function handleHeaderContextMenu(
35 e: React.MouseEvent<HTMLDivElement>,
36 blockId: string,
37 viewModel: ViewModel,
38 nodeModel: NodeModel,
39 blockEnv: BlockEnv
40) {
41 e.preventDefault();
42 e.stopPropagation();
43 const magnified = globalStore.get(nodeModel.isMagnified);
44 const menu: ContextMenuItem[] = [
45 {
46 label: magnified ? "Un-Magnify Block" : "Magnify Block",
47 click: () => {
48 nodeModel.toggleMagnify();
49 },
50 },
51 { type: "separator" },
52 {
53 label: "Copy BlockId",
54 click: () => {
55 navigator.clipboard.writeText(blockId);
56 },
57 },
58 ];
59 const extraItems = viewModel?.getSettingsMenuItems?.();
60 if (extraItems && extraItems.length > 0) menu.push({ type: "separator" }, ...extraItems);
61 menu.push(
62 { type: "separator" },
63 {
64 label: "Close Block",
65 click: () => uxCloseBlock(blockId),
66 }
67 );
68 blockEnv.showContextMenu(menu, e);
69}
70
71type HeaderTextElemsProps = {
72 viewModel: ViewModel;

Callers 2

BlockFrame_HeaderFunction · 0.85

Calls 5

uxCloseBlockFunction · 0.90
getMethod · 0.80
pushMethod · 0.80
showContextMenuMethod · 0.80
getSettingsMenuItemsMethod · 0.45

Tested by

no test coverage detected