From efb1869613a93ff5d1e6549ae6072e1c5314989b Mon Sep 17 00:00:00 2001 From: VIAUD Nathan <nathan.viaud@inria.fr> Date: Tue, 5 Dec 2023 13:28:46 +0000 Subject: [PATCH] feat: preview hot reload --- electron/components/ipc.js | 3 ++- electron/components/preview.js | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/electron/components/ipc.js b/electron/components/ipc.js index b6d7aae7..8614a2eb 100644 --- a/electron/components/ipc.js +++ b/electron/components/ipc.js @@ -1,7 +1,7 @@ const path = require('path'); const store = require('./store'); const { ipcMain } = require('electron'); -const { runPreview } = require('./preview'); +const { runPreview, updatePreview } = require('./preview'); const { getRecentFiles, pickEpocProject, openEpocProject, newEpocProject, saveEpocProject, exportProject, writeProjectData, writeEpocData, readProjectData, copyFileToWorkdir } = require('./file'); const { Menu } = require('electron'); const contextMenu = require('./contextMenu'); @@ -100,6 +100,7 @@ const setupIpcListener = function (targetWindow) { if(event.sender !== targetWindow.webContents) return; await writeEpocData(store.state.projects[targetWindow.id].workdir, data); + updatePreview(); }); ipcMain.on('importFile', async (event, data) => { diff --git a/electron/components/preview.js b/electron/components/preview.js index e5fb0dd4..3efe6f79 100644 --- a/electron/components/preview.js +++ b/electron/components/preview.js @@ -82,6 +82,12 @@ function createPreviewServer () { }); } +function updatePreview() { + if (!previewWindow) return; + + previewWindow.reload(); +} + async function createPreviewWindow(server, contentPath) { if (!previewWindow) { previewWindow = new BrowserWindow({ @@ -124,5 +130,6 @@ const cleanPreview = function () { module.exports = { runPreview, - cleanPreview + cleanPreview, + updatePreview }; \ No newline at end of file -- GitLab