mirror of
https://github.com/docker/docs.git
synced 2026-11-06 12:54:24 +03:00
Merge branch 'master' into metrics
Conflicts: src/ImageCard.react.js
This commit is contained in:
@@ -2,7 +2,12 @@ var $ = require('jquery');
|
||||
var React = require('react/addons');
|
||||
var RetinaImage = require('react-retina-image');
|
||||
var ContainerStore = require('./ContainerStore');
|
||||
<<<<<<< HEAD
|
||||
var metrics = require('./Metrics');
|
||||
=======
|
||||
var OverlayTrigger = require('react-bootstrap').OverlayTrigger;
|
||||
var Tooltip = require('react-bootstrap').Tooltip;
|
||||
>>>>>>> master
|
||||
|
||||
var ImageCard = React.createClass({
|
||||
getInitialState: function () {
|
||||
@@ -44,10 +49,34 @@ var ImageCard = React.createClass({
|
||||
render: function () {
|
||||
var self = this;
|
||||
var name;
|
||||
if (this.props.image.is_official) {
|
||||
name = <span><RetinaImage src="official.png"/>{this.props.image.name}</span>;
|
||||
var imageNameTokens = this.props.image.name.split('/');
|
||||
var namespace;
|
||||
var repo;
|
||||
if (imageNameTokens.length > 1) {
|
||||
namespace = imageNameTokens[0];
|
||||
repo = imageNameTokens[1];
|
||||
} else {
|
||||
name = <span>{this.props.image.name}</span>;
|
||||
namespace = "official";
|
||||
repo = imageNameTokens[0];
|
||||
}
|
||||
if (this.props.image.is_official) {
|
||||
name = (
|
||||
<div>
|
||||
<div className="namespace official">{namespace}</div>
|
||||
<OverlayTrigger placement="bottom" overlay={<Tooltip>{this.props.image.name}</Tooltip>}>
|
||||
<span className="repo">{repo}</span>
|
||||
</OverlayTrigger>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
name = (
|
||||
<div>
|
||||
<div className="namespace">{namespace}</div>
|
||||
<OverlayTrigger placement="bottom" overlay={<Tooltip>{this.props.image.name}</Tooltip>}>
|
||||
<span className="repo">{repo}</span>
|
||||
</OverlayTrigger>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
var description;
|
||||
if (this.props.image.description) {
|
||||
@@ -77,6 +106,12 @@ var ImageCard = React.createClass({
|
||||
} else {
|
||||
tags = <RetinaImage className="tags-loading" src="loading-white.png"/>;
|
||||
}
|
||||
var officialBadge;
|
||||
if (this.props.image.is_official) {
|
||||
officialBadge = (
|
||||
<RetinaImage src="official.png" />
|
||||
);
|
||||
}
|
||||
return (
|
||||
<div className="image-item">
|
||||
<div className="tag-overlay" onClick={self.handleCloseTagOverlay}>
|
||||
@@ -86,6 +121,9 @@ var ImageCard = React.createClass({
|
||||
<RetinaImage src={imgsrc}/>
|
||||
</div>
|
||||
<div className="card">
|
||||
<div className="badges">
|
||||
{officialBadge}
|
||||
</div>
|
||||
<div className="name">
|
||||
{name}
|
||||
</div>
|
||||
@@ -93,13 +131,17 @@ var ImageCard = React.createClass({
|
||||
{description}
|
||||
</div>
|
||||
<div className="actions">
|
||||
<div className="stars">
|
||||
<span className="icon icon-star-9"></span>
|
||||
<span className="text">{this.props.image.star_count}</span>
|
||||
</div>
|
||||
<OverlayTrigger placement="bottom" overlay={<Tooltip>Favorites</Tooltip>}>
|
||||
<div className="stars">
|
||||
<span className="icon icon-star-9"></span>
|
||||
<span className="text">{this.props.image.star_count}</span>
|
||||
</div>
|
||||
</OverlayTrigger>
|
||||
<div className="tags">
|
||||
<span className="icon icon-tag-1"></span>
|
||||
<span className="text" onClick={self.handleTagOverlayClick.bind(self, this.props.image.name)} data-name={this.props.image.name}>{this.state.chosenTag}</span>
|
||||
<span className="icon icon-bookmark-2"></span>
|
||||
<OverlayTrigger placement="bottom" overlay={<Tooltip>Change Tag</Tooltip>}>
|
||||
<span className="text" onClick={self.handleTagOverlayClick.bind(self, this.props.image.name)} data-name={this.props.image.name}>{this.state.chosenTag}</span>
|
||||
</OverlayTrigger>
|
||||
</div>
|
||||
<div className="action">
|
||||
<a className="btn btn-action" onClick={self.handleClick.bind(self, this.props.image.name)}>Create</a>
|
||||
|
||||
Reference in New Issue
Block a user