aboutsummaryrefslogtreecommitdiff
path: root/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'main.js')
-rw-r--r--main.js64
1 files changed, 45 insertions, 19 deletions
diff --git a/main.js b/main.js
index 935d6aa..c85b9ab 100644
--- a/main.js
+++ b/main.js
@@ -1,35 +1,61 @@
-const electron = require("electron")
-const app = electron.app
-const BrowserWindow = electron.BrowserWindow
+const { app, BrowserWindow, ipcMain } = require('electron');
-const path = require("path")
-const url = require("url")
+const path = require("path");
+const url = require("url");
-let mainWindow
+let uiWindow;
+let queryExecutorProcess;
-function createWindow () {
- mainWindow = new BrowserWindow({width: 800, height: 600})
- mainWindow.loadURL(url.format({
+function createMainWindow () {
+ uiWindow = new BrowserWindow({
+ width: 800,
+ height: 600
+ });
+ uiWindow.loadURL(url.format({
pathname: path.join(__dirname, "index.html"),
protocol: "file:",
slashes: true
- }))
+ }));
- mainWindow.on("closed", function () {
- mainWindow = null
- })
+ uiWindow.on("closed", function () {
+ uiWindow = null;
+ app.quit();
+ });
}
-app.on("ready", createWindow)
+function createQueryExecutorProcess() {
+ queryExecutorProcess = new BrowserWindow({
+ show: false
+ });
+
+ queryExecutorProcess.loadURL(url.format({
+ pathname: path.join(__dirname, "./query-executor-wrapper.html"),
+ protocol: "file:",
+ slashes: true
+ }));
+
+ queryExecutorProcess.on("closed", function () {
+ queryExecutorProcess = null;
+ });
+
+}
+
+app.on("ready", function() {
+ createMainWindow();
+ createQueryExecutorProcess();
+});
app.on("window-all-closed", function () {
if (process.platform !== "darwin") {
- app.quit()
+ app.quit();
}
-})
+});
app.on("activate", function () {
- if (mainWindow === null) {
- createWindow()
+ if (uiWindow === null) {
+ createWindow();
}
-})
+});
+
+ipcMain.on("queryExecutor.runQueryComplete", (event, payload) => uiWindow.webContents.send("queryExecutor.runQueryComplete", payload));
+ipcMain.on("queryExecutor.runQuery", (event, payload) => queryExecutorProcess.webContents.send("queryExecutor.runQuery", payload)); \ No newline at end of file