Skip to content

Commit

Permalink
Merge 896c396 into df855a9
Browse files Browse the repository at this point in the history
  • Loading branch information
stjohncj committed May 20, 2016
2 parents df855a9 + 896c396 commit 256a7f2
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 9 deletions.
6 changes: 4 additions & 2 deletions src/components/JobBuild.jsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import React, { Component, PropTypes } from 'react'; // eslint-disable-line no-unused-vars
import moment from 'moment';
import { getBuildStatus } from './util';


class JobBuild extends Component {
render() {
const { build } = this.props;

const classes = `list__item list__item--with-status list__item--with-status--${ build.result.toLowerCase() }`;
const classes = `list__item list__item--with-status list__item--with-status--${ getBuildStatus(build).toLowerCase() }`;

return (
<div className={classes}>
#{build.number} {build.result}&nbsp;
#{build.number} {getBuildStatus(build)}&nbsp;
<time className="list__item__time">
<i className="fa fa-clock-o" />&nbsp;
{moment(build.timestamp, 'x').fromNow()}
Expand All @@ -24,6 +25,7 @@ JobBuild.displayName = 'JobBuild';

JobBuild.propTypes = {
build: PropTypes.shape({
building: PropTypes.bool.isRequired,
number: PropTypes.number.isRequired,
result: PropTypes.string.isRequired,
timestamp: PropTypes.number.isRequired
Expand Down
2 changes: 1 addition & 1 deletion src/components/JobBuilds.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class JobBuilds extends Component {
const { job } = this.props;

return {
id: `jenkins.job.${job}`,
id: `jenkins.job.${job} `,
params: { job }
};
}
Expand Down
2 changes: 1 addition & 1 deletion src/components/JobBuildsHistogram.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class JobBuildsHistogram extends Component {
const data = builds.map(build => ({
x: build.number,
y: build.duration / 1000 / 60, // converts ms to mn
result: build.result ? build.result.toLowerCase() : 'unkown'
result: build.result ? build.result.toLowerCase() : 'unknown'
}));

const barChartOptions = {
Expand Down
5 changes: 3 additions & 2 deletions src/components/JobStatus.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import moment from 'moment';
import reactMixin from 'react-mixin';
import { ListenerMixin } from 'reflux';
import Mozaik from 'mozaik/browser';
import { getBuildStatus } from './util';
import JobStatusPreviousBuild from './JobStatusPreviousBuild.jsx';


Expand Down Expand Up @@ -44,7 +45,7 @@ class JobStatus extends Component {
iconClasses = 'fa fa-check';
}

statusClasses = `widget__body__colored jenkins__view__job__build__colored_status--${ currentBuild.result.toLowerCase() }`;
statusClasses = `widget__body__colored jenkins__view__job__build__colored_status--${ getBuildStatus(currentBuild).toLowerCase() }`;

currentNode = (
<div className="jenkins__job-status__current">
Expand Down Expand Up @@ -77,7 +78,7 @@ class JobStatus extends Component {
iconClasses = 'fa fa-check';
}

statusClasses = `jenkins__job-status__current__status jenkins__job-status__current__status--${ currentBuild.result.toLowerCase() }`;
statusClasses = `jenkins__job-status__current__status jenkins__job-status__current__status--${ getBuildStatus(currentBuild).toLowerCase() }`;

currentNode = (
<div className="jenkins__job-status__current">
Expand Down
4 changes: 2 additions & 2 deletions src/components/JobStatusPreviousBuild.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Component, PropTypes } from 'react'; // eslint-disable-line no-unused-vars
import moment from 'moment';

import { getBuildStatus } from './util';

class JobStatusPreviousBuild extends Component {
render() {
Expand All @@ -9,7 +9,7 @@ class JobStatusPreviousBuild extends Component {
return (
<div className="jenkins__job-status__previous">
previous status (#{build.number}) were&nbsp;
{build.result}&nbsp;
{getBuildStatus(build)}&nbsp;
{moment(build.timestamp, 'x').fromNow()}
</div>
);
Expand Down
16 changes: 16 additions & 0 deletions src/components/util.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const JENKINS_BUILD_STATUS_BUILDING = 'BUILDING';
const JENKINS_BUILD_STATUS_UNKNOWN = 'UNKNOWN';

/**
* Returns a build status from given build info.
*
* @param {object} build - the Jenkins build object
* @returns {string}
*/
export const getBuildStatus = (build) => {
if (build.result) {
return build.result;
}

return build.building ? JENKINS_BUILD_STATUS_BUILDING : JENKINS_BUILD_STATUS_UNKNOWN;
};
2 changes: 1 addition & 1 deletion styl/index.styl
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
display flex
width 100%
height 100%
text-align center
text-align center
& .jenkins
&__job-status
&__current
Expand Down

0 comments on commit 256a7f2

Please sign in to comment.