From aa0a63a9beffe1590b196e477b364d099c5ce195 Mon Sep 17 00:00:00 2001 From: NAmorim Date: Tue, 23 Nov 2021 14:32:58 +0000 Subject: [PATCH 1/2] [Distribution] Add menu for profile creation/update --- Platform/WebServer/index.html | 9 +++++++ electron-wrapper.js | 45 +++++++++++++++++++++++++++++++---- 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/Platform/WebServer/index.html b/Platform/WebServer/index.html index 67fda3e82..cf263c8ab 100644 --- a/Platform/WebServer/index.html +++ b/Platform/WebServer/index.html @@ -42,6 +42,15 @@ try { drawSplashText() loadSuperalgos() + window.api.receive('fromMaster', (data) => { + if(data.newUser){ + UI.projects.foundations.spaces.designSpace.workspace.replaceWorkspaceByLoadingOne(data.newUser[0], data.newUser[1]) + }else if(data.submit){ + UI.projects.governance.spaces.reportsSpace.commandInterface.command = data.submit[0] + UI.projects.governance.spaces.reportsSpace.commandInterface.detectCommands() + //const element = document.getElementsByClassName("governance-filter-input")[0] + } + }) } catch (err) { console.log("[ERROR] UI can not be started. Please check that WebServer is running.", err); } diff --git a/electron-wrapper.js b/electron-wrapper.js index 90d24b423..d73af2451 100644 --- a/electron-wrapper.js +++ b/electron-wrapper.js @@ -40,7 +40,6 @@ ipcMain.on("toMain", (event, args) => { } }) - function openMain () { let bw_options = { width: WINDOW_WIDTH, @@ -50,6 +49,7 @@ function openMain () { nodeIntegration: false, // is default value after Electron v5 contextIsolation: true, // protect against prototype pollution enableRemoteModule: false, // turn off remote + preload: path.join(__dirname, "preload.js") // use a preload script } } @@ -90,6 +90,10 @@ function openMain () { mainWindow.on('activate', function () { mainWindow.show() }) + + mainWindow.on('focus', function () { + createMainMenus() + }) } function openConsoleWindow() { @@ -116,7 +120,6 @@ function openConsoleWindow() { consoleWindow.setBackgroundColor('#000000') consoleWindow.loadFile('./console.html') - consoleWindow.on('close', function (e) { if (mainWindow.isVisible()) { e.preventDefault() @@ -144,13 +147,13 @@ function openConsoleWindow() { } }) - consoleWindow.on('show', function () { + consoleWindow.on('focus', function () { createConsoleMenus() }) } app.on('ready', function () { - autoUpdater.checkForUpdatesAndNotify(); + autoUpdater.checkForUpdatesAndNotify() createMainMenus() }) @@ -226,6 +229,40 @@ function createMainMenus() { openConsoleWindow() } } + }, + { + label: 'Profile', + submenu: [ + { + label: 'New/Update', + click: async() => { + data = {newUser: ["Governance", "Plugin → Token-Distribution-Superalgos"]} + mainWindow.webContents.send("fromMaster", data) + data + //mainWindow.loadURL('http://localhost:34248/LoadPlugin/Governance/Workspaces/Token-Distribution-Superalgos.json') + } + }, + { + label: 'Save', + click: async() => { + let modifiers = [] + modifiers.push('shift') + modifiers.push('control') + mainWindow.webContents.sendInputEvent({type: 'keyDown', modifiers, keyCode: "s"}) + mainWindow.webContents.sendInputEvent({type: 'char', modifiers, keyCode: "s"}) + mainWindow.webContents.sendInputEvent({type: 'keyUp', modifiers, keyCode: "s"}) + } + }, + { + label: 'Submit', + click: async() => { + data = {submit: ["gov.userProfile"]} + mainWindow.webContents.send("fromMaster", data) + mainWindow.webContents.sendInputEvent({type: 'keyDown', modifiers, keyCode: "Enter"}) + mainWindow.webContents.sendInputEvent({type: 'keyUp', modifiers, keyCode: "Enter"}) + } + } + ] } ] From 19ec4a9c3f61ea65fd734bfa30e2d2301ff72a73 Mon Sep 17 00:00:00 2001 From: NAmorim Date: Tue, 23 Nov 2021 16:33:16 +0000 Subject: [PATCH 2/2] [Distribution] Missing link --- preload.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/preload.js b/preload.js index 8ac19c9ed..a0c44c092 100644 --- a/preload.js +++ b/preload.js @@ -9,13 +9,13 @@ contextBridge.exposeInMainWorld( "api", { send: (channel, data) => { // whitelist channels - let validChannels = ["toMain"]; + let validChannels = ["toMain", "toMaster"]; if (validChannels.includes(channel)) { ipcRenderer.send(channel, data); } }, receive: (channel, func) => { - let validChannels = ["fromMain"]; + let validChannels = ["fromMain", "fromMaster"]; if (validChannels.includes(channel)) { // Deliberately strip event as it includes `sender` ipcRenderer.on(channel, (event, ...args) => func(...args));