diff --git a/gulpfile.js b/gulpfile.js index af841fc815..7a8ba4d0cd 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -29,16 +29,16 @@ var options = { gulp.task('js', function () { return gulp.src('src/**/*.js') - .pipe(plumber(function(error) { - gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - this.emit('end'); - })) .pipe(gulpif(options.dev || options.test, sourcemaps.init())) .pipe(react()) .pipe(babel({blacklist: ['regenerator']})) .pipe(gulpif(options.dev || options.test, sourcemaps.write('.'))) .pipe(gulp.dest((options.dev || options.test) ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); + .pipe(gulpif(options.dev, livereload())) + .pipe(plumber(function(error) { + gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); + this.emit('end'); + })); }); gulp.task('images', function() { diff --git a/src/ContainerListItem.react.js b/src/ContainerListItem.react.js index 44b510615c..7cedd398b6 100644 --- a/src/ContainerListItem.react.js +++ b/src/ContainerListItem.react.js @@ -29,6 +29,7 @@ var ContainerListItem = React.createClass({ }); } }.bind(this)); + return false; }, render: function () { var self = this; diff --git a/src/ContainerStore.js b/src/ContainerStore.js index 35539bd586..ff71eee3ce 100644 --- a/src/ContainerStore.js +++ b/src/ContainerStore.js @@ -91,10 +91,15 @@ var ContainerStore = assign(Object.create(EventEmitter.prototype), { callback(err); return; } - var binds = []; + var binds = containerData.Binds || []; if (data.Config.Volumes) { _.each(data.Config.Volumes, function (value, key) { - binds.push(path.join(process.env.HOME, 'Kitematic', containerData.name, key)+ ':' + key); + var existingBind = _.find(binds, b => { + return b.indexOf(':' + key) !== -1; + }); + if (!existingBind) { + binds.push(path.join(process.env.HOME, 'Kitematic', containerData.name, key)+ ':' + key); + } }); } docker.client().createContainer(containerData, function (err, container) { diff --git a/src/ImageCard.react.js b/src/ImageCard.react.js index 2c01f67017..d498dc0a4f 100644 --- a/src/ImageCard.react.js +++ b/src/ImageCard.react.js @@ -29,7 +29,6 @@ var ImageCard = React.createClass({ var $tagOverlay = $(this.getDOMNode()).find('.tag-overlay'); $tagOverlay.fadeIn(300); $.get('https://registry.hub.docker.com/v1/repositories/' + name + '/tags', function (result) { - console.log(result); this.setState({ tags: result }); diff --git a/styles/containers.less b/styles/containers.less index 128e8ed683..d4651eb310 100644 --- a/styles/containers.less +++ b/styles/containers.less @@ -911,7 +911,8 @@ flex: 1 auto; flex-direction: row; .settings-menu { - min-width: 160px; + min-width: 180px; + flex: 0 auto; ul { position: fixed; margin: 0; @@ -958,8 +959,8 @@ } } .settings-panel { - padding-left: 40px; - width: 100%; + padding-left: 20px; + flex: 1 auto; overflow-x: hidden; .settings-section { margin-bottom: 40px; @@ -1084,13 +1085,11 @@ .label-left { flex: 0 auto; margin-right: 30px; - width: 30%; } .label-right { flex: 1 auto; display: inline-block; margin-left: 10px; - width: 60%; } } .table-values { @@ -1099,14 +1098,12 @@ flex-direction: row; margin: 8px 0; .value-left { - width: 30%; flex: 0 auto; padding: 0px; } .value-right { flex: 1 auto; -webkit-user-select: text; - width: 60%; padding: 0px; } .btn {