From 2327e4e536e3be29ffd7af54ebba6ae24265c692 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Sat, 17 Feb 2018 18:03:34 +0000 Subject: WIP - Add basic unstyled static tabs. IPC needs work --- instance-manager.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 instance-manager.js (limited to 'instance-manager.js') diff --git a/instance-manager.js b/instance-manager.js new file mode 100644 index 0000000..e8b803e --- /dev/null +++ b/instance-manager.js @@ -0,0 +1,29 @@ +"use strict"; + +const { ipcRenderer } = require('electron'); +const TabGroup = require("electron-tabs"); + +let tabGroup = new TabGroup(); +let tab = 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.openDevTools(); + // }) + // } + // } +}); + +let tab2 = tabGroup.addTab({ + title: "Electron", + src: 'file://' + __dirname + '/editor-instance.html', + visible: true, + active: true, + webviewAttributes: { "nodeintegration": true }, +}); \ No newline at end of file -- cgit v1.2.3 From 52f6783f63d2e2f52e06d14a97b5e00eab8ac1c0 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Sun, 18 Feb 2018 21:20:37 +0000 Subject: Add new connection dialog box - WIP --- instance-manager.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'instance-manager.js') diff --git a/instance-manager.js b/instance-manager.js index e8b803e..115f359 100644 --- a/instance-manager.js +++ b/instance-manager.js @@ -2,6 +2,7 @@ const { ipcRenderer } = require('electron'); const TabGroup = require("electron-tabs"); +const $ = window.jQuery = require("jquery"); let tabGroup = new TabGroup(); let tab = tabGroup.addTab({ @@ -26,4 +27,19 @@ let tab2 = tabGroup.addTab({ visible: true, active: true, webviewAttributes: { "nodeintegration": true }, -}); \ No newline at end of file +}); + +function createNewConnection() { + ipcRenderer.send("instanceManager.openNewConnectionDialog"); +} + +ipcRenderer.on("instanceManager.newConnectionCallback", (event, response) => { + console.log(response); +}); + + +$(document).ready(() => { + $("#new-connection").click(() => { + createNewConnection(); + }) +}) \ No newline at end of file -- cgit v1.2.3 From b81c0f834f7f2285c40cfd57eb2943140025edad Mon Sep 17 00:00:00 2001 From: James Barnett Date: Tue, 20 Feb 2018 21:44:28 +0000 Subject: Dynamically create query executors - WIP --- instance-manager.js | 47 +++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 26 deletions(-) (limited to 'instance-manager.js') diff --git a/instance-manager.js b/instance-manager.js index 115f359..6a4d019 100644 --- a/instance-manager.js +++ b/instance-manager.js @@ -4,37 +4,32 @@ const { ipcRenderer } = require('electron'); const TabGroup = require("electron-tabs"); const $ = window.jQuery = require("jquery"); -let tabGroup = new TabGroup(); -let tab = 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.openDevTools(); - // }) - // } - // } -}); - -let tab2 = tabGroup.addTab({ - title: "Electron", - src: 'file://' + __dirname + '/editor-instance.html', - visible: true, - active: true, - webviewAttributes: { "nodeintegration": true }, -}); +const tabGroup = new TabGroup(); function createNewConnection() { ipcRenderer.send("instanceManager.openNewConnectionDialog"); } -ipcRenderer.on("instanceManager.newConnectionCallback", (event, response) => { - console.log(response); +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); }); -- cgit v1.2.3 From 4ef675b2b7803c72ed6e74ee13841e356a71f103 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Wed, 21 Feb 2018 21:07:01 +0000 Subject: Make connection tab title configurable --- instance-manager.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'instance-manager.js') diff --git a/instance-manager.js b/instance-manager.js index 6a4d019..7d27a7e 100644 --- a/instance-manager.js +++ b/instance-manager.js @@ -10,9 +10,9 @@ function createNewConnection() { ipcRenderer.send("instanceManager.openNewConnectionDialog"); } -function registerNewInstance(assignedQueryExecutorId) { +function registerNewInstance(payload) { tabGroup.addTab({ - title: "Electron", + title: payload.connectionName, src: "file://" + __dirname + "/editor-instance.html", visible: true, active: true, @@ -21,15 +21,15 @@ function registerNewInstance(assignedQueryExecutorId) { let webview = tab.webview; if (!!webview) { webview.addEventListener("dom-ready", () => { - webview.send("editorInstance.registerQueryExecutor", assignedQueryExecutorId); + webview.send("editorInstance.registerQueryExecutor", payload.assignedQueryExecutorId); }) } } }); } -ipcRenderer.on("instanceManager.registerNewInstance", (event, assignedQueryExecutorId) => { - registerNewInstance(assignedQueryExecutorId); +ipcRenderer.on("instanceManager.registerNewInstance", (event, payload) => { + registerNewInstance(payload); }); -- cgit v1.2.3