update modules

This commit is contained in:
Radek Stepan 2018-06-29 11:28:20 -04:00
parent cb5d6ea712
commit 3c79a905b3
4 changed files with 24 additions and 22 deletions

View File

@ -8,7 +8,7 @@ export default {
// A graph of closed issues.
// `issues`: closed issues list
// `created_at`: milestone start date
// `created_at`: project start date
// `total`: total number of points (open & closed issues)
actual(issues, created_at, total) {
let min, max;
@ -44,8 +44,8 @@ export default {
},
// A graph of an ideal progression..
// `a`: milestone start date
// `b`: milestone end date
// `a`: project start date
// `b`: project end date
// `total`: total number of points (open & closed issues)
ideal(a, b, total) {
// Swap if end is before the start...

View File

@ -10,7 +10,7 @@ export default {
return moment(jsonDate, moment.ISO_8601).fromNow();
},
// When is a milestone due?
// When is a project due?
due(jsonDate) {
if (!jsonDate) {
return '\u00a0'; // for React
@ -25,12 +25,12 @@ export default {
marked.apply(null, args);
},
// Format milestone title.
// Format project title.
title(text) {
if (text.toLowerCase().indexOf('milestone') > -1) {
if (text.toLowerCase().indexOf('project') > -1) {
return text;
} else {
return `Milestone ${text}`;
return `Project ${text}`;
}
},

View File

@ -4,6 +4,8 @@ import async from 'async';
import config from '../../../config.js';
import request from './request.js';
// TODO needs a rewrite to support issues coming from GraphQL.
// Fetch issues for a milestone.
export default {
fetchAll: (user, repo, cb) => {
@ -68,13 +70,13 @@ let calcSize = (list) => {
let oneStatus = (user, repo, state, cb) => {
// Concat them here.
let results = [];
let done = (err) => {
if (err) return cb(err);
// Sort by closed time and add the size.
cb(null, calcSize(_.sortBy(results, 'closed_at')));
};
let fetchPage;
// One pageful fetch (next pages in series).
return (fetchPage = (page) => {

View File

@ -10,11 +10,11 @@ let progress = (a, b) => {
}
};
// Calculate the stats for a milestone.
// Calculate the stats for a project.
// Is it on time? What is the progress?
export default (milestone) => {
export default (project) => {
// Makes testing easier...
if (milestone.stats != null) return milestone.stats;
if (project.stats != null) return project.stats;
let points = 0, a, b, c, time, days, span;
@ -26,8 +26,8 @@ export default (milestone) => {
};
// Progress in points.
let i = milestone.issues.closed.size,
j = milestone.issues.open.size;
let i = project.issues.closed.size,
j = project.issues.open.size;
if (i) {
stats.isEmpty = false;
if (i + j > 0) {
@ -36,20 +36,20 @@ export default (milestone) => {
}
}
// Check that milestone hasn't been created after issue close; #100.
if (milestone.issues.closed.size) {
milestone.created_at = _.reduce(milestone.issues.closed.list
// Check that project hasn't been created after issue close; #100.
if (project.issues.closed.size) {
project.created_at = _.reduce(project.issues.closed.list
, (x, { closed_at }) => (x > closed_at) ? closed_at : x
, milestone.created_at);
, project.created_at);
}
// The dates in this milestone.
a = moment(milestone.created_at, moment.ISO_8601);
// The dates in this project.
a = moment(project.created_at, moment.ISO_8601);
b = moment.utc();
c = moment(milestone.due_on, moment.ISO_8601);
c = moment(project.due_on, moment.ISO_8601);
// Milestones with no due date are always on track.
if (!(milestone.due_on != null)) {
if (!(project.due_on != null)) {
// The number of days from start to now.
span = b.diff(a, 'days');
return _.extend(stats, { span, 'progress': { points } });