Merge branch 'windows' of github.com:kitematic/kitematic into windows

Conflicts:
	package.json
	src/components/ContainerSettingsVolumes.react.js
	src/stores/SetupStore.js
This commit is contained in:
Jeffrey Morgan 2015-06-15 09:15:57 -07:00
commit 407fd508d9
14 changed files with 47 additions and 37 deletions

View File

@ -11,13 +11,12 @@
},
"bugs": "https://github.com/kitematic/kitematic/issues",
"scripts": {
"start": "gulp",
"start": "grunt",
"test": "jest -c jest-unit.json",
"integration": "jest -c jest-integration.json",
"release": "grunt release",
"release:beta": "grunt release --beta=true",
"lint": "jsxhint src",
"reset": "gulp reset"
"lint": "jsxhint src"
},
"licenses": [
{

View File

@ -1,3 +1,4 @@
var $ = require('jquery');
var _ = require('underscore');
var React = require('react');
var exec = require('exec');
@ -6,8 +7,10 @@ var metrics = require('../utils/MetricsUtil');
var ContainerUtil = require('../utils/ContainerUtil');
var util = require('../utils/Util');
var machine = require('../utils/DockerMachineUtil');
var RetinaImage = require('react-retina-image');
var classNames = require('classnames');
var resources = require('../utils/ResourcesUtil');
var dockerUtil = require('../utils/DockerUtil');
var containerActions = require('../actions/ContainerActions');
var dockerMachineUtil = require('../utils/DockerMachineUtil');

View File

@ -62,6 +62,7 @@ var ContainerHomePreview = React.createClass({
</div>
</div>
{frame}
<div className="frame-overlay"></div>
</div>
</div>
);

View File

@ -6,6 +6,7 @@ var containerStore = require('../stores/ContainerStore');
var ContainerList = require('./ContainerList.react');
var Header = require('./Header.react');
var metrics = require('../utils/MetricsUtil');
var RetinaImage = require('react-retina-image');
var shell = require('shell');
var machine = require('../utils/DockerMachineUtil');

View File

@ -139,7 +139,12 @@ var Header = React.createClass({
username = (
<div className="login-wrapper">
<div className="login no-drag" onClick={this.handleUserClick}>
<span className="icon icon-user"></span> {this.state.username} {this.state.verified ? null : '(Unverified)'} <RetinaImage src="userdropdown.png"/>
<span className="icon icon-user"></span>
<span className="text">
{this.state.username}
{this.state.verified ? null : '(Unverified)'}
</span>
<RetinaImage src="userdropdown.png"/>
</div>
</div>
);

View File

@ -126,7 +126,7 @@ module.exports = React.createClass({
<div className="no-results">
<h2>Please verify your Docker Hub account email address</h2>
<div className="verify">
<button className="btn btn-primary btn-lg" onClick={this.handleCheckVerification}>{'I\'ve Verified My Email Address'}</button> {spinner}
<button className="btn btn-primary" onClick={this.handleCheckVerification}>{'I\'ve Verified My Email Address'}</button> {spinner}
</div>
<RetinaImage src="inspection.png" checkIfRetinaImgExists={false}/>
</div>

View File

@ -3,6 +3,7 @@ import deepExtend from 'deep-extend';
import alt from '../alt';
import containerServerActions from '../actions/ContainerServerActions';
import containerActions from '../actions/ContainerActions';
var LogStore = require('./LogStore');
class ContainerStore {
constructor () {
@ -87,6 +88,8 @@ class ContainerStore {
if (!containers[container.Name] || containers[container.Name].State.Updating) {
return;
}
// Trigger log update
LogStore.fetch(container.Name);
containers[container.Name] = container;

View File

@ -149,7 +149,7 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
var vboxNeedsInstall = !virtualBox.installed();
required.download = vboxNeedsInstall && (!fs.existsSync(vboxfile) || setupUtil.checksum(vboxfile) !== virtualBox.checksum());
required.install = vboxNeedsInstall || !virtualBox.active();
required.install = vboxNeedsInstall || (util.isWindows() && !virtualBox.active());
required.init = required.install || !(yield machine.exists()) || (yield machine.state()) !== 'Running' || !isoversion || util.compareVersions(isoversion, packagejson['docker-version']) < 0;
var exists = yield machine.exists();

View File

@ -5,6 +5,7 @@ var util = require('../utils/Util');
var hubUtil = require('../utils/HubUtil');
var repositoryServerActions = require('../actions/RepositoryServerActions');
var tagServerActions = require('../actions/TagServerActions');
var Promise = require('bluebird');
let REGHUB2_ENDPOINT = process.env.REGHUB2_ENDPOINT || 'https://registry.hub.docker.com/v2';
let searchReq = null;
@ -61,7 +62,7 @@ module.exports = {
let data = JSON.parse(body);
let repos = data.repos;
async.map(repos, (repo, cb) => {
var name = repo.repo;
let name = repo.repo;
if (util.isOfficialRepo(name)) {
name = 'library/' + name;
}

View File

@ -15,7 +15,7 @@ module.exports = {
fn(args, options, (stderr, stdout, code) => {
if (code) {
var cmd = Array.isArray(args) ? args.join(' ') : args;
reject(new Error(cmd + ' returned non zero exit code.\n===== Stderr =====\n ' + stderr + '\n===== Stdout =====\n' + stdout));
reject(new Error(cmd + ' returned non zero exit code. Stderr: ' + stderr));
} else {
resolve(stdout);
}

View File

@ -82,22 +82,6 @@
height: 100%;
z-index: 100;
color: transparent;
transition: background-color 0.25s;
.icon {
margin-top: 40%;
display: block;
font-size: 60px;
text-align: center;
}
.text {
font-size: 20px;
text-align: center;
}
&:hover {
color: white;
background-color: @gray-darkest;
opacity: 0.75;
}
}
}
}

View File

@ -17,6 +17,12 @@
display: flex;
min-width: @sidebar-width + 1px;
}
.right-header {
display: flex;
justify-content: flex-end;
flex: 1 0;
}
.updates {
flex: 1 auto;
@ -27,9 +33,7 @@
}
.logo {
position: absolute;
right: 1rem;
top: 0.8rem;
padding: 0.9rem 1rem 0 0;
}
.login-wrapper {
@ -46,15 +50,18 @@
border-right: 1px solid @color-divider;
padding: 0 1rem 0 1rem;
.box-button();
&:active {
img, span {
-webkit-filter: brightness(0.9);
}
.text {
max-width: 70px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
img {
margin: 0 5px;
position: relative;
top: 0.1rem;
margin: 0 0rem 0 0.4rem;
width: 8px;
height: 5px;
}
}

View File

@ -55,7 +55,7 @@
}
.verify {
margin: 15px 0;
margin: 0.5rem 0 3rem 0;
position: relative;
.spinner {
@ -405,6 +405,12 @@
color: white;
border: 1px solid darken(@brand-primary, 10%);
}
&:active {
box-shadow: 0 0 15px fade(@brand-action, 25%);
background-color: darken(@brand-action, 5%);
border: 1px solid darken(@brand-primary, 10%);
color: white;
}
}
}
}

View File

@ -203,8 +203,8 @@ input[type="text"] {
}
&.small {
font-size: 11px;
padding: 3px 8px 3px 8px;
font-size: 10px;
padding: 0.3rem 0.7rem;
height: 22px;
.icon {
font-size: 10px;