Reload active dashboard view (#783)

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev authored and GitHub committed 2020-09-02 10:05:49 +03:00
1 parent 5e2ef2f64f
commit 5788c44303
4 files changed
+20 -5

No files matched your search

+1
View File
@@ -13,6 +13,7 @@ export const clusterIpc = {
}
},
}),
activate: createIpcChannel({
channel: "cluster:activate",
handle: (clusterId: ClusterId) => {
+2 -2
View File
@@ -155,14 +155,14 @@ export function buildMenu(windowManager: WindowManager) {
label: 'Forward',
accelerator: 'CmdOrCtrl+]',
click() {
webContents.getFocusedWebContents()?.goForward();
webContents.getFocusedWebContents()?.goForward()
}
},
{
label: 'Reload',
accelerator: 'CmdOrCtrl+R',
click() {
webContents.getFocusedWebContents()?.reload();
windowManager.reload({ channel: "menu:reload" });
}
},
{ role: 'toggleDevTools' },
+11 -2
View File
@@ -1,5 +1,5 @@
import type { ClusterId } from "../common/cluster-store";
import { BrowserWindow, dialog, ipcMain, shell, WebContents, webContents } from "electron"
import { ClusterId, clusterStore } from "../common/cluster-store";
import { BrowserWindow, dialog, ipcMain, shell, webContents } from "electron"
import windowStateKeeper from "electron-window-state"
import { observable } from "mobx";
import { initMenu } from "./menu";
@@ -58,6 +58,15 @@ export class WindowManager {
}
}
reload({ channel }: { channel: string }) {
const frameId = clusterStore.getById(this.activeClusterId)?.frameId;
if (frameId) {
this.mainView.webContents.sendToFrame(frameId, channel);
} else {
webContents.getFocusedWebContents()?.reload();
}
}
async showMain() {
try {
await this.showSplash();
@@ -33,8 +33,8 @@ export function getMatchedCluster() {
return clusterStore.getById(getMatchedClusterId())
}
// Refresh global menu depending on active route's type (common/cluster view)
if (ipcRenderer) {
// Refresh global menu depending on active route's type (common/cluster view)
const isMainView = !getHostedClusterId();
if (isMainView) {
reaction(() => getMatchedClusterId(), clusterId => {
@@ -43,4 +43,9 @@ if (ipcRenderer) {
fireImmediately: true
})
}
// Reload dashboard
ipcRenderer.on("menu:reload", () => {
location.reload();
});
}