52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
import { contextBridge, ipcRenderer } from "electron";
|
|
const api = {
|
|
pluginManagerCall: (method, ...args) => ipcRenderer.invoke(
|
|
"pluginManager:call",
|
|
method,
|
|
...args.length ? args : []
|
|
),
|
|
configManagerCall: (method, ...args) => ipcRenderer.invoke(
|
|
"configManager:call",
|
|
method,
|
|
...args.length ? args : []
|
|
),
|
|
adapterCall: (method, ...args) => ipcRenderer.invoke(
|
|
"adapter:call",
|
|
method,
|
|
...args.length ? args : []
|
|
),
|
|
openNoteWindow: (noteId) => {
|
|
ipcRenderer.send("open-note-window", noteId);
|
|
},
|
|
onNoteCreated: (callback) => {
|
|
ipcRenderer.on("note-created", (_, data) => callback(data));
|
|
},
|
|
onNoteUpdated: (callback) => {
|
|
ipcRenderer.on("note-updated", (_, data) => callback(data));
|
|
},
|
|
onNoteDeleted: (callback) => {
|
|
ipcRenderer.on("note-deleted", (_, data) => callback(data));
|
|
},
|
|
onPluginChanged: (callback) => {
|
|
ipcRenderer.on("plugin-changed", (_, data) => callback(data));
|
|
},
|
|
notifyNoteChanged: (event, data) => {
|
|
ipcRenderer.send("note-changed", event, data);
|
|
},
|
|
moveOpened: () => {
|
|
ipcRenderer.invoke("move-opened");
|
|
},
|
|
moveClosed: () => {
|
|
ipcRenderer.invoke("move-closed");
|
|
}
|
|
};
|
|
if (process.contextIsolated) {
|
|
try {
|
|
contextBridge.exposeInMainWorld("api", api);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
} else {
|
|
window.api = api;
|
|
}
|