UNPKG

gars_v2

Version:

Geo Assistant Research System

67 lines (54 loc) 2.12 kB
// This is main process of Electron, started as first thing when your // app starts. This script is running through entire life of your application. // It doesn't have any windows which you can see on screen, but we can open // window from here. import path from 'path'; import url from 'url'; import { app, Menu, ipcMain } from 'electron'; import { devMenuTemplate } from './menu/dev_menu_template'; import { fileMenuTemplate } from './menu/file_menu_template'; import { editMenuTemplate } from './menu/edit_menu_template'; import createWindow from './helpers/window'; import state from './helpers/state'; // Special module holding environment variables which you declared // in config/env_xxx.json file. import env from './env'; var mainWindow; var setApplicationMenu = function() { var menus = [fileMenuTemplate, editMenuTemplate]; //if (env.name !== 'production') { menus.push(devMenuTemplate); //} Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); }; // Save userData in separate folders for each environment. // Thanks to this you can use production and development versions of the app // on same machine like those are two separate apps. if (env.name !== 'production') { var userDataPath = app.getPath('userData'); app.setPath('userData', userDataPath + ' (' + env.name + ')'); } app.on('ready', function() { setApplicationMenu(); state.restore(); global.state = state; var mainWindow = createWindow('main', { width: 1000, height: 600, pathname: path.join(__dirname, 'main.html') }); ipcMain.on('preview', (event, filepath) => { console.log('preview request received', filepath); var mapWindow = createWindow('map', { fullscreen: true, pathname: path.join(__dirname, 'map.html') }); mapWindow.webContents.on('did-finish-load', function() { mapWindow.webContents.send('open', filepath); }); }); }); app.on('window-all-closed', function() { state.save(); app.quit(); });