mirror of https://github.com/docker/docs.git
Updated all electron calls for proper interactions
Signed-off-by: French Ben <me+git@frenchben.com>
This commit is contained in:
parent
14bdaf25db
commit
53436e81b2
|
@ -83,7 +83,6 @@
|
|||
"jsxhint": "^0.15.1",
|
||||
"load-grunt-tasks": "^3.2.0",
|
||||
"minimist": "^1.1.1",
|
||||
"react-tools": "^0.13.1",
|
||||
"run-sequence": "^1.0.2",
|
||||
"shell-escape": "^0.2.0",
|
||||
"source-map-support": "^0.3.2"
|
||||
|
|
20
src/app.js
20
src/app.js
|
@ -1,24 +1,24 @@
|
|||
require.main.paths.splice(0, 0, process.env.NODE_PATH);
|
||||
import remote from 'remote';
|
||||
var Menu = remote.require('menu');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const Menu = remote.Menu;
|
||||
// ipcRenderer is used as we're in the process
|
||||
const ipcRenderer = electron.ipcRenderer;
|
||||
|
||||
import React from 'react';
|
||||
import SetupStore from './stores/SetupStore';
|
||||
import ipc from 'ipc';
|
||||
import machine from './utils/DockerMachineUtil';
|
||||
|
||||
import metrics from './utils/MetricsUtil';
|
||||
import template from './menutemplate';
|
||||
import webUtil from './utils/WebUtil';
|
||||
import hubUtil from './utils/HubUtil';
|
||||
import setupUtil from './utils/SetupUtil';
|
||||
import request from 'request';
|
||||
import docker from './utils/DockerUtil';
|
||||
import hub from './utils/HubUtil';
|
||||
import Router from 'react-router';
|
||||
import routes from './routes';
|
||||
import routerContainer from './router';
|
||||
import repositoryActions from './actions/RepositoryActions';
|
||||
import util from './utils/Util';
|
||||
var app = remote.require('app');
|
||||
import machine from './utils/DockerMachineUtil';
|
||||
|
||||
hubUtil.init();
|
||||
|
||||
|
@ -47,6 +47,8 @@ var router = Router.create({
|
|||
router.run(Handler => React.render(<Handler/>, document.body));
|
||||
routerContainer.set(router);
|
||||
|
||||
|
||||
|
||||
setupUtil.setup().then(() => {
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(template()));
|
||||
docker.init();
|
||||
|
@ -63,7 +65,7 @@ setupUtil.setup().then(() => {
|
|||
throw err;
|
||||
});
|
||||
|
||||
ipc.on('application:quitting', () => {
|
||||
ipcRenderer.on('application:quitting', () => {
|
||||
if (localStorage.getItem('settings.closeVMOnQuit') === 'true') {
|
||||
machine.stop();
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import app from 'app';
|
||||
import BrowserWindow from 'browser-window';
|
||||
import electron from 'electron';
|
||||
const app = electron.app;
|
||||
const BrowserWindow = electron.BrowserWindow;
|
||||
|
||||
import fs from 'fs';
|
||||
import os from 'os';
|
||||
var ipc = require('electron').ipcMain;
|
||||
|
||||
import path from 'path';
|
||||
import child_process from 'child_process';
|
||||
|
||||
|
@ -18,29 +20,6 @@ try {
|
|||
settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, 'settings.json'), 'utf8'));
|
||||
} catch (err) {}
|
||||
|
||||
let updateCmd = (args, cb) => {
|
||||
let updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
|
||||
let child = child_process.spawn(updateExe, args, {detached: true});
|
||||
child.on('close', cb);
|
||||
};
|
||||
|
||||
if (process.platform === 'win32') {
|
||||
var squirrelCommand = process.argv[1];
|
||||
let target = path.basename(process.execPath);
|
||||
switch (squirrelCommand) {
|
||||
case '--squirrel-install':
|
||||
case '--squirrel-updated':
|
||||
updateCmd(['--createShortcut', target], app.quit);
|
||||
break;
|
||||
case '--squirrel-uninstall':
|
||||
updateCmd(['--removeShortcut', target], app.quit);
|
||||
break;
|
||||
case '--squirrel-obsolete':
|
||||
app.quit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
app.on('ready', function () {
|
||||
var mainWindow = new BrowserWindow({
|
||||
width: size.width || 1080,
|
||||
|
@ -66,25 +45,18 @@ app.on('ready', function () {
|
|||
return false;
|
||||
});
|
||||
|
||||
var updating = false;
|
||||
ipc.on('application:quit-install', function () {
|
||||
updating = true;
|
||||
});
|
||||
|
||||
if (os.platform() === 'win32') {
|
||||
mainWindow.on('close', function () {
|
||||
mainWindow.webContents.send('application:quitting');
|
||||
return true;
|
||||
});
|
||||
|
||||
app.on('window-all-closed', function() {
|
||||
app.on('window-all-closed', function () {
|
||||
app.quit();
|
||||
});
|
||||
} else if (os.platform() === 'darwin') {
|
||||
app.on('before-quit', function () {
|
||||
if (!updating) {
|
||||
mainWindow.webContents.send('application:quitting');
|
||||
}
|
||||
mainWindow.webContents.send('application:quitting');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -6,8 +6,9 @@ import shell from 'shell';
|
|||
import util from '../utils/Util';
|
||||
import metrics from '../utils/MetricsUtil';
|
||||
import containerActions from '../actions/ContainerActions';
|
||||
import remote from 'remote';
|
||||
var dialog = remote.require('dialog');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const dialog = remote.dialog;
|
||||
import mkdirp from 'mkdirp';
|
||||
|
||||
var ContainerHomeFolder = React.createClass({
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import $ from 'jquery';
|
||||
import React from 'react/addons';
|
||||
import Router from 'react-router';
|
||||
import remote from 'remote';
|
||||
var dialog = remote.require('dialog');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const dialog = remote.dialog;
|
||||
import metrics from '../utils/MetricsUtil';
|
||||
import {OverlayTrigger, Tooltip} from 'react-bootstrap';
|
||||
import containerActions from '../actions/ContainerActions';
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import _ from 'underscore';
|
||||
import React from 'react/addons';
|
||||
import metrics from '../utils/MetricsUtil';
|
||||
import remote from 'remote';
|
||||
var dialog = remote.require('dialog');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const dialog = remote.dialog;
|
||||
import ContainerUtil from '../utils/ContainerUtil';
|
||||
import containerActions from '../actions/ContainerActions';
|
||||
import util from '../utils/Util';
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import _ from 'underscore';
|
||||
import React from 'react/addons';
|
||||
import remote from 'remote';
|
||||
var dialog = remote.require('dialog');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const dialog = remote.dialog;
|
||||
import shell from 'shell';
|
||||
import util from '../utils/Util';
|
||||
import metrics from '../utils/MetricsUtil';
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import React from 'react/addons';
|
||||
import remote from 'remote';
|
||||
import RetinaImage from 'react-retina-image';
|
||||
import ipc from 'ipc';
|
||||
import util from '../utils/Util';
|
||||
import metrics from '../utils/MetricsUtil';
|
||||
var Menu = remote.require('menu');
|
||||
var MenuItem = remote.require('menu-item');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const Menu = remote.Menu;
|
||||
const MenuItem = remote.MenuItem;
|
||||
import accountStore from '../stores/AccountStore';
|
||||
import accountActions from '../actions/AccountActions';
|
||||
import Router from 'react-router';
|
||||
|
@ -25,12 +25,6 @@ var Header = React.createClass({
|
|||
document.addEventListener('keyup', this.handleDocumentKeyUp, false);
|
||||
|
||||
accountStore.listen(this.update);
|
||||
|
||||
ipc.on('application:update-available', () => {
|
||||
this.setState({
|
||||
updateAvailable: true
|
||||
});
|
||||
});
|
||||
},
|
||||
componentWillUnmount: function () {
|
||||
document.removeEventListener('keyup', this.handleDocumentKeyUp, false);
|
||||
|
@ -79,10 +73,6 @@ var Header = React.createClass({
|
|||
handleFullscreenHover: function () {
|
||||
this.update();
|
||||
},
|
||||
handleAutoUpdateClick: function () {
|
||||
metrics.track('Restarted to Update');
|
||||
ipc.send('application:quit-install');
|
||||
},
|
||||
handleUserClick: function (e) {
|
||||
let menu = new Menu();
|
||||
|
||||
|
@ -166,7 +156,6 @@ var Header = React.createClass({
|
|||
</div>
|
||||
);
|
||||
}
|
||||
let updateWidget = this.state.updateAvailable && !this.props.hideLogin ? <a className="btn btn-action small no-drag" onClick={this.handleAutoUpdateClick}>UPDATE NOW</a> : null;
|
||||
return (
|
||||
<div className={headerClasses}>
|
||||
<div className="left-header">
|
||||
|
@ -174,9 +163,6 @@ var Header = React.createClass({
|
|||
{username}
|
||||
</div>
|
||||
<div className="right-header">
|
||||
<div className="updates">
|
||||
{updateWidget}
|
||||
</div>
|
||||
{util.isWindows () ? this.renderWindowButtons() : this.renderLogo()}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import remote from 'remote';
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
import shell from 'shell';
|
||||
import router from './router';
|
||||
import util from './utils/Util';
|
||||
|
@ -6,7 +7,7 @@ import metrics from './utils/MetricsUtil';
|
|||
import machine from './utils/DockerMachineUtil';
|
||||
import docker from './utils/DockerUtil';
|
||||
|
||||
var app = remote.require('app');
|
||||
const app = remote.app;
|
||||
|
||||
// main.js
|
||||
var MenuTemplate = function () {
|
||||
|
|
|
@ -121,7 +121,6 @@ export default {
|
|||
await machine.create();
|
||||
} else {
|
||||
let state = await machine.status();
|
||||
console.log(state);
|
||||
if (state !== 'Running') {
|
||||
if (state === 'Saved') {
|
||||
router.get().transitionTo('setup');
|
||||
|
|
|
@ -3,9 +3,10 @@ import Promise from 'bluebird';
|
|||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import crypto from 'crypto';
|
||||
import remote from 'remote';
|
||||
var dialog = remote.require('dialog');
|
||||
var app = remote.require('app');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const dialog = remote.dialog;
|
||||
const app = remote.app;
|
||||
|
||||
module.exports = {
|
||||
execFile: function (args, options) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import remote from 'remote';
|
||||
var app = remote.require('app');
|
||||
import electron from 'electron';
|
||||
const remote = electron.remote;
|
||||
const app = remote.app;
|
||||
import fs from 'fs';
|
||||
import util from './Util';
|
||||
import path from 'path';
|
||||
|
|
Loading…
Reference in New Issue