diff --git a/src/js/modules/chart/lines.js b/src/js/modules/chart/lines.js index 0961a06..93f539f 100644 --- a/src/js/modules/chart/lines.js +++ b/src/js/modules/chart/lines.js @@ -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... diff --git a/src/js/modules/format.js b/src/js/modules/format.js index c8bb8b8..f45a436 100644 --- a/src/js/modules/format.js +++ b/src/js/modules/format.js @@ -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}`; } }, diff --git a/src/js/modules/github/issues.js b/src/js/modules/github/issues.js index ecc6971..3b6bc7f 100644 --- a/src/js/modules/github/issues.js +++ b/src/js/modules/github/issues.js @@ -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) => { diff --git a/src/js/modules/stats.js b/src/js/modules/stats.js index e2f1356..39fa74d 100644 --- a/src/js/modules/stats.js +++ b/src/js/modules/stats.js @@ -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 } });