aboutsummaryrefslogtreecommitdiff
path: root/instance-manager.js
diff options
context:
space:
mode:
Diffstat (limited to 'instance-manager.js')
-rw-r--r--instance-manager.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/instance-manager.js b/instance-manager.js
new file mode 100644
index 0000000..7d27a7e
--- /dev/null
+++ b/instance-manager.js
@@ -0,0 +1,40 @@
+"use strict";
+
+const { ipcRenderer } = require('electron');
+const TabGroup = require("electron-tabs");
+const $ = window.jQuery = require("jquery");
+
+const tabGroup = new TabGroup();
+
+function createNewConnection() {
+ ipcRenderer.send("instanceManager.openNewConnectionDialog");
+}
+
+function registerNewInstance(payload) {
+ tabGroup.addTab({
+ title: payload.connectionName,
+ src: "file://" + __dirname + "/editor-instance.html",
+ visible: true,
+ active: true,
+ webviewAttributes: {"nodeintegration":true},
+ ready: tab => {
+ let webview = tab.webview;
+ if (!!webview) {
+ webview.addEventListener("dom-ready", () => {
+ webview.send("editorInstance.registerQueryExecutor", payload.assignedQueryExecutorId);
+ })
+ }
+ }
+ });
+}
+
+ipcRenderer.on("instanceManager.registerNewInstance", (event, payload) => {
+ registerNewInstance(payload);
+});
+
+
+$(document).ready(() => {
+ $("#new-connection").click(() => {
+ createNewConnection();
+ })
+}) \ No newline at end of file