mirror of https://github.com/docker/docs.git
Transition to newly created containers
This commit is contained in:
parent
b010c3eeed
commit
638d6b71f9
|
|
@ -1,15 +1,11 @@
|
|||
var async = require('async');
|
||||
var $ = require('jquery');
|
||||
var React = require('react');
|
||||
var Router = require('react-router');
|
||||
var Modal = require('react-bootstrap/Modal');
|
||||
var RetinaImage = require('react-retina-image');
|
||||
var ContainerStore = require('./ContainerStore');
|
||||
|
||||
var Navigation = Router.Navigation;
|
||||
|
||||
var ContainerModal = React.createClass({
|
||||
mixins: [Navigation],
|
||||
_searchRequest: null,
|
||||
getInitialState: function () {
|
||||
return {
|
||||
|
|
@ -54,7 +50,7 @@ var ContainerModal = React.createClass({
|
|||
var name = event.target.getAttribute('name');
|
||||
var self = this;
|
||||
ContainerStore.create(name, 'latest', function (err, containerName) {
|
||||
// this.transitionTo('containers', {container: containerName});
|
||||
require('./router').transitionTo('container', {name: containerName});
|
||||
self.props.onRequestHide();
|
||||
}.bind(this));
|
||||
},
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ var ContainerStore = assign(EventEmitter.prototype, {
|
|||
_createContainer: function (image, name, callback) {
|
||||
var existing = docker.client().getContainer(name);
|
||||
existing.remove(function (err, data) {
|
||||
console.log('Placeholder removed.');
|
||||
docker.client().createContainer({
|
||||
Image: image,
|
||||
Tty: false,
|
||||
|
|
@ -49,12 +48,10 @@ var ContainerStore = assign(EventEmitter.prototype, {
|
|||
callback(err, null);
|
||||
return;
|
||||
}
|
||||
console.log('Created container: ' + container.id);
|
||||
container.start({
|
||||
PublishAllPorts: true
|
||||
}, function (err) {
|
||||
if (err) { callback(err, null); return; }
|
||||
console.log('Started container: ' + container.id);
|
||||
callback(null, container);
|
||||
});
|
||||
});
|
||||
|
|
@ -130,14 +127,12 @@ var ContainerStore = assign(EventEmitter.prototype, {
|
|||
docker.client().getEvents(function (err, stream) {
|
||||
stream.setEncoding('utf8');
|
||||
stream.on('data', function (data) {
|
||||
console.log(data);
|
||||
|
||||
// TODO: Dont refresh on deleting placeholder containers
|
||||
var deletingPlaceholder = data.status === 'destroy' && self.container(data.id) && self.container(data.id).Config.Env.indexOf('KITEMATIC_DOWNLOADING=true') !== -1;
|
||||
console.log(deletingPlaceholder);
|
||||
if (!deletingPlaceholder) {
|
||||
self.update(function (err) {
|
||||
console.log('Updated container data.');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
42
app/main.js
42
app/main.js
|
|
@ -3,13 +3,10 @@ var Router = require('react-router');
|
|||
var RetinaImage = require('react-retina-image');
|
||||
var Raven = require('raven');
|
||||
var async = require('async');
|
||||
var docker = require('./docker.js');
|
||||
var boot2docker = require('./boot2docker.js');
|
||||
var Setup = require('./Setup.react');
|
||||
var Containers = require('./Containers.react');
|
||||
var ContainerDetails = require('./ContainerDetails.react');
|
||||
var docker = require('./docker');
|
||||
var router = require('./router');
|
||||
var boot2docker = require('./boot2docker');
|
||||
var ContainerStore = require('./ContainerStore');
|
||||
var Radial = require('./Radial.react');
|
||||
|
||||
var Route = Router.Route;
|
||||
var NotFoundRoute = Router.NotFoundRoute;
|
||||
|
|
@ -17,42 +14,11 @@ var DefaultRoute = Router.DefaultRoute;
|
|||
var Link = Router.Link;
|
||||
var RouteHandler = Router.RouteHandler;
|
||||
|
||||
var App = React.createClass({
|
||||
render: function () {
|
||||
return (
|
||||
<RouteHandler/>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
var NoContainers = React.createClass({
|
||||
render: function () {
|
||||
return (
|
||||
<div>
|
||||
No Containers
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
var routes = (
|
||||
<Route name="app" path="/" handler={App}>
|
||||
<Route name="containers" handler={Containers}>
|
||||
<Route name="container" path=":name" handler={ContainerDetails}>
|
||||
</Route>
|
||||
<DefaultRoute handler={NoContainers}/>
|
||||
</Route>
|
||||
<DefaultRoute handler={Setup}/>
|
||||
<Route name="setup" handler={Setup}>
|
||||
</Route>
|
||||
</Route>
|
||||
);
|
||||
|
||||
boot2docker.ip(function (err, ip) {
|
||||
if (window.location.hash !== '#/') {
|
||||
docker.setHost(ip);
|
||||
ContainerStore.init(function () {
|
||||
Router.run(routes, function (Handler) {
|
||||
router.run(function (Handler) {
|
||||
React.render(<Handler/>, document.body);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
var Router = require('react-router');
|
||||
var routes = require('./routes');
|
||||
|
||||
var router = Router.create({
|
||||
routes: routes
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
var React = require('react');
|
||||
var Setup = require('./Setup.react');
|
||||
var Containers = require('./Containers.react');
|
||||
var ContainerDetails = require('./ContainerDetails.react');
|
||||
var Router = require('react-router');
|
||||
|
||||
var Route = Router.Route;
|
||||
var DefaultRoute = Router.DefaultRoute;
|
||||
var RouteHandler = Router.RouteHandler;
|
||||
|
||||
var App = React.createClass({
|
||||
render: function () {
|
||||
return (
|
||||
<RouteHandler/>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
var NoContainers = React.createClass({
|
||||
render: function () {
|
||||
return (
|
||||
<div>
|
||||
No Containers
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
var routes = (
|
||||
<Route name="app" path="/" handler={App}>
|
||||
<Route name="containers" handler={Containers}>
|
||||
<Route name="container" path=":name" handler={ContainerDetails}>
|
||||
</Route>
|
||||
<DefaultRoute handler={NoContainers}/>
|
||||
</Route>
|
||||
<DefaultRoute handler={Setup}/>
|
||||
<Route name="setup" handler={Setup}>
|
||||
</Route>
|
||||
</Route>
|
||||
);
|
||||
|
||||
module.exports = routes;
|
||||
Loading…
Reference in New Issue