MCPcopy Create free account
hub / github.com/jhen0409/react-native-debugger / registerContextMenu

Function registerContextMenu

electron/context-menu.js:12–59  ·  view source on GitHub ↗
(win)

Source from the content-addressed store, hash-verified

10)
11
12export const registerContextMenu = (win) => {
13 const { config } = readConfig()
14 const defaultContextMenuItems = [
15 item('Toggle Developer Tools', n, () => toggleDevTools(win, 'chrome')),
16 item('Toggle React DevTools', n, () => toggleDevTools(win, 'react')),
17 item('Toggle Redux DevTools', n, () => toggleDevTools(win, 'redux')),
18 ]
19 let networkInspectEnabled = !!config.networkInspect
20 let availableMethods = []
21 contextMenu({
22 window: win,
23 showInspectElement: process.env.NODE_ENV === 'development',
24 prepend: () => [
25 availableMethods.includes('reload')
26 && item('Reload JS', n, () => invokeDevMethod(win, 'reload')),
27 availableMethods.includes('toggleElementInspector')
28 && item('Toggle Element Inspector', n, () => invokeDevMethod(win, 'toggleElementInspector')),
29 availableMethods.includes('show')
30 && item('Show Developer Menu', n, () => invokeDevMethod(win, 'show')),
31 item(
32 networkInspectEnabled
33 ? 'Disable Network Inspect'
34 : 'Enable Network Inspect',
35 n,
36 () => invokeDevMethod(win, 'networkInspect'),
37 ),
38 availableMethods.includes('showAsyncStorage')
39 && item('Log AsyncStorage content', n, () => invokeDevMethod(win, 'showAsyncStorage')),
40 availableMethods.includes('clearAsyncStorage')
41 && item('Clear AsyncStorage', n, () => invokeDevMethod(win, 'clearAsyncStorage')),
42 separator,
43 ]
44 .filter((menuItem) => !!menuItem)
45 .concat(defaultContextMenuItems),
46 })
47
48 const listener = (event, data) => {
49 availableMethods = data.availableMethods || availableMethods
50 networkInspectEnabled = typeof data.networkInspectEnabled === 'boolean'
51 ? data.networkInspectEnabled
52 : networkInspectEnabled
53 }
54
55 ipcMain.on(`context-menu-available-methods-update-${win.id}`, listener)
56 return () => {
57 ipcMain.off(`context-menu-available-methods-update-${win.id}`, listener)
58 }
59}

Callers 1

createWindowFunction · 0.90

Calls 4

readConfigFunction · 0.90
itemFunction · 0.90
toggleDevToolsFunction · 0.90
invokeDevMethodFunction · 0.70

Tested by

no test coverage detected