mirror of https://github.com/docker/docs.git
Auto-update UI and fixed menu.
This commit is contained in:
parent
a4669e2240
commit
7390b83cc3
|
@ -78,6 +78,7 @@ var Containers = React.createClass({
|
||||||
this.transitionTo('new');
|
this.transitionTo('new');
|
||||||
},
|
},
|
||||||
handleAutoUpdateClick: function () {
|
handleAutoUpdateClick: function () {
|
||||||
|
console.log('CLICKED UPDATE');
|
||||||
ipc.send('command', 'application:quit-install');
|
ipc.send('command', 'application:quit-install');
|
||||||
},
|
},
|
||||||
render: function () {
|
render: function () {
|
||||||
|
@ -85,7 +86,16 @@ var Containers = React.createClass({
|
||||||
if (this.state.sidebarOffset) {
|
if (this.state.sidebarOffset) {
|
||||||
sidebarHeaderClass += ' sep';
|
sidebarHeaderClass += ' sep';
|
||||||
}
|
}
|
||||||
|
var updateNotification;
|
||||||
|
var updatePadding;
|
||||||
|
if (this.state.updateAvailable) {
|
||||||
|
updateNotification = (
|
||||||
|
<div className="update-notification"><span className="text">Update Available</span><a className="btn btn-action small" onClick={this.handleAutoUpdateClick}>Update Now</a></div>
|
||||||
|
);
|
||||||
|
updatePadding = (
|
||||||
|
<div className="update-padding"></div>
|
||||||
|
);
|
||||||
|
}
|
||||||
var container = this.getParams().name ? this.state.containers[this.getParams().name] : {};
|
var container = this.getParams().name ? this.state.containers[this.getParams().name] : {};
|
||||||
return (
|
return (
|
||||||
<div className="containers">
|
<div className="containers">
|
||||||
|
@ -100,6 +110,8 @@ var Containers = React.createClass({
|
||||||
</section>
|
</section>
|
||||||
<section className="sidebar-containers" onScroll={this.handleScroll}>
|
<section className="sidebar-containers" onScroll={this.handleScroll}>
|
||||||
<ContainerList containers={this.state.sorted} newContainer={this.state.newContainer} />
|
<ContainerList containers={this.state.sorted} newContainer={this.state.newContainer} />
|
||||||
|
{updatePadding}
|
||||||
|
{updateNotification}
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<Router.RouteHandler container={container}/>
|
<Router.RouteHandler container={container}/>
|
||||||
|
|
|
@ -9,6 +9,8 @@ var router = require('./router');
|
||||||
var boot2docker = require('./boot2docker');
|
var boot2docker = require('./boot2docker');
|
||||||
var ContainerStore = require('./ContainerStore');
|
var ContainerStore = require('./ContainerStore');
|
||||||
var SetupStore = require('./SetupStore');
|
var SetupStore = require('./SetupStore');
|
||||||
|
var MenuTemplate = require('./MenuTemplate');
|
||||||
|
var Menu = remote.require('menu');
|
||||||
var settingsjson;
|
var settingsjson;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -32,6 +34,9 @@ bugsnag.releaseStage = process.env.NODE_ENV === 'development' ? 'development' :
|
||||||
bugsnag.notifyReleaseStages = ['production'];
|
bugsnag.notifyReleaseStages = ['production'];
|
||||||
bugsnag.appVersion = app.getVersion();
|
bugsnag.appVersion = app.getVersion();
|
||||||
|
|
||||||
|
var menu = Menu.buildFromTemplate(MenuTemplate);
|
||||||
|
Menu.setApplicationMenu(menu);
|
||||||
|
|
||||||
router.run(Handler => React.render(<Handler/>, document.body));
|
router.run(Handler => React.render(<Handler/>, document.body));
|
||||||
SetupStore.run().then(boot2docker.ip).then(ip => {
|
SetupStore.run().then(boot2docker.ip).then(ip => {
|
||||||
console.log(ip);
|
console.log(ip);
|
||||||
|
|
|
@ -2,13 +2,12 @@ var remote = require('remote');
|
||||||
var app = remote.require('app');
|
var app = remote.require('app');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var docker = require('./Docker');
|
var docker = require('./Docker');
|
||||||
var Menu = remote.require('menu');
|
|
||||||
var BrowserWindow = remote.require('browser-window');
|
var BrowserWindow = remote.require('browser-window');
|
||||||
var router = require('./Router');
|
var router = require('./Router');
|
||||||
var util = require('./Util');
|
var util = require('./Util');
|
||||||
|
|
||||||
// main.js
|
// main.js
|
||||||
var template = [
|
var MenuTemplate = [
|
||||||
{
|
{
|
||||||
label: 'Kitematic',
|
label: 'Kitematic',
|
||||||
submenu: [
|
submenu: [
|
||||||
|
@ -160,7 +159,5 @@ var template = [
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
var menu = Menu.buildFromTemplate(template);
|
|
||||||
Menu.setApplicationMenu(menu);
|
|
||||||
|
|
||||||
module.exports = menu;
|
module.exports = MenuTemplate;
|
|
@ -61,6 +61,30 @@ html, body {
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.update-notification {
|
||||||
|
background-color: white;
|
||||||
|
opacity: 0.9;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
width: 259px;
|
||||||
|
padding: 10px;
|
||||||
|
//border-top: 1px solid darken(#FCF8E3, 5%);
|
||||||
|
color: @gray-normal;
|
||||||
|
font-size: 12px;
|
||||||
|
.text {
|
||||||
|
position: relative;
|
||||||
|
top: 3px;
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.update-padding {
|
||||||
|
position: relative;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
@-webkit-keyframes spin {
|
@-webkit-keyframes spin {
|
||||||
from {
|
from {
|
||||||
|
|
Loading…
Reference in New Issue