aboutsummaryrefslogtreecommitdiff
path: root/instance-manager.js
blob: 6a4d019c02e6133acecfc3d00f3da0bd49d76982 (plain)
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
"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(assignedQueryExecutorId) {
  tabGroup.addTab({
    title: "Electron",
    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", assignedQueryExecutorId);
        })
      }
    }
  });
}

ipcRenderer.on("instanceManager.registerNewInstance", (event, assignedQueryExecutorId) => {
  registerNewInstance(assignedQueryExecutorId);
});


$(document).ready(() => {
  $("#new-connection").click(() => {
    createNewConnection();
  })
})