Reputation: 86
Here is my code Github repo url
const {app, Menu, ipcMain} = require('electron');
const mainWindow = require("./windows/mainWindow");
// Catching events from clients
ipcMain.on("login", ()=>{
dashboardWindow();
mainWindow.close();
})
./windows/mainWindow
file:
// Initialize main window
const mainWindow = () => {
let mainWindow = new BrowserWindow({
autoHideMenuBar: true,
webPreferences: {
nodeIntegration: true
}
});
// Load html in window
mainWindow.loadFile("./templates/index.html")
mainWindow.webContents.openDevTools();
}
module.exports = mainWindow;
How could I close a window?
Upvotes: 0
Views: 1126
Reputation: 6747
mainWindow
is a function, so you need to call it and inside the function also return the window:
const {app, Menu, ipcMain} = require('electron');
const mainWindowFunc = require("./windows/mainWindow");
const mainWindow = mainWindowFunc(); // <-- Call function
ipcMain.on("login", ()=>{
dashboardWindow();
mainWindow.close(); // <-- Now close should be available, because you call it on the instance of BrowserWindow
})
./windows/mainWindow
file:
const mainWindow = () => {
let mainWindow = new BrowserWindow({
autoHideMenuBar: true,
webPreferences: {
nodeIntegration: true
}
});
mainWindow.loadFile("./templates/index.html")
mainWindow.webContents.openDevTools();
return mainWindow; // <-- return window
}
module.exports = mainWindow;
Upvotes: 3