var React = require('react'); var Router = require('react-router'); var Route = Router.Route; var NotFoundRoute = Router.NotFoundRoute; var DefaultRoute = Router.DefaultRoute; var Link = Router.Link; var RouteHandler = Router.RouteHandler; var Navigation= Router.Navigation; var async = require('async'); var docker = require('./docker.js'); var ContainerList = React.createClass({ render: function () { var containers = this.props.containers.map(function (container) { return
  • {container.Name.replace('/', '')}
  • }); return ( ); } }); var Containers = React.createClass({ mixins: [Navigation], getInitialState: function() { return {containers: []}; }, update: function () { var self = this; docker.client().listContainers({all: true}, function (err, containers) { async.map(containers, function(container, callback) { docker.client().getContainer(container.Id).inspect(function (err, data) { callback(null, data); }); }, function (err, results) { if (results.length > 0) { self.transitionTo('container', {Id: results[0].Id}) } self.setState({containers: results}); }); }); }, componentDidMount: function () { this.update(); var self = this; docker.client().getEvents(function (err, stream) { if (err) { throw err; } stream.setEncoding('utf8'); stream.on('data', function (data) { self.update(); }); }); }, render: function () { return (
    ); } }); module.exports = Containers;