-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpreload.js
More file actions
54 lines (37 loc) · 2.12 KB
/
Copy pathpreload.js
File metadata and controls
54 lines (37 loc) · 2.12 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const { contextBridge, ipcRenderer } = require("electron");
contextBridge.exposeInMainWorld("electronAPI", {
// Bookmarks
loadSCIDBookmarks: () => ipcRenderer.invoke("scid:load"),
addSCIDBookmark: (data) => ipcRenderer.invoke("scid:add", data),
deleteSCIDBookmark: (scid) => ipcRenderer.invoke("scid:delete", scid),
loadNodeBookmarks: () => ipcRenderer.invoke("node:load"),
addNodeBookmark: (data) => ipcRenderer.invoke("node:add", data),
deleteNodeBookmark: (node) => ipcRenderer.invoke("node:delete", node),
// Tela
startTela: (node, scid) => ipcRenderer.invoke("tela:start", { node, scid }),
closeTelaTab: data => ipcRenderer.invoke("tela:close-tab", data),
sendSidebarToggle: (collapsed) => ipcRenderer.send("sidebar:toggle", collapsed),
switchToTab: tabId => ipcRenderer.invoke("switch-tab", tabId),
// Modal
modalShow: (options) => ipcRenderer.invoke("modal:show", options),
modalClose: () => ipcRenderer.invoke("modal:close"),
getWindowSize: () => ipcRenderer.invoke("get-window-size"),
// Events
onTelaTabTitle: (cb) => ipcRenderer.on("tela:tab-title", (event, payload) => cb(payload)),
onBookmarksUpdated: (cb) => ipcRenderer.on("bookmarks-updated", () => cb()),
selectSCID: (scid) => ipcRenderer.send("scid:select", scid),
onSCIDSelected: (cb) => ipcRenderer.on("scid:select", (_, scid) => cb(scid)),
checkGnomon: () => ipcRenderer.invoke("check-gnomon"),
getGnomonInfo: () => ipcRenderer.invoke("gnomon:get-info"),
applyGnomonNode: (node) => ipcRenderer.invoke("gnomon:apply-node", node),
gnomonStart: () => ipcRenderer.invoke("gnomon:start"),
gnomonStop: () => ipcRenderer.invoke("gnomon:stop"),
getGnomonLogBuffer: () => ipcRenderer.invoke("gnomon:get-log-buffer"),
removeGnomonLogListener: (cb) =>
ipcRenderer.removeListener("gnomon-log", cb),
removeGnomonExitListener: (cb) =>
ipcRenderer.removeListener("gnomon-exit", cb),
onGnomonLog: (callback) => ipcRenderer.on("gnomon-log", (_, log) => callback(log)),
onGnomonExit: (callback) => ipcRenderer.on("gnomon-exit", (_, data) => callback(data)),
hideAllBrowserViews: () => ipcRenderer.invoke("browserviews:hide-all")
});