-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpreload.js
22 lines (20 loc) · 909 Bytes
/
preload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const { contextBridge, ipcRenderer } = require('electron');
const path = require('path')
contextBridge.exposeInMainWorld('ipcRenderer', {
send: (channel, data) => ipcRenderer.send(channel, data),
on: (channel, func) => ipcRenderer.on(channel, (event, ...args) => func(...args)),
})
contextBridge.exposeInMainWorld('path', {
dirname: (...args) => path.dirname(...args),
basename: (...args) => path.basename(...args),
resolve: (...args) => path.resolve(...args)
})
contextBridge.exposeInMainWorld('electronAPI', {
onUpdateTable: (callback) => ipcRenderer.on('table', callback),
statistics: (callback) => ipcRenderer.on('statistics', callback),
Progress: (callback) => ipcRenderer.on('Progress', callback),
patterns: (callback) => ipcRenderer.on('patterns', callback),
})
contextBridge.exposeInMainWorld('electron', {
openDialog: () => ipcRenderer.invoke('dialog')
});