diff --git a/route/task/index.js b/route/task/index.js index 3c8af2f..3f7990b 100644 --- a/route/task/index.js +++ b/route/task/index.js @@ -2,6 +2,7 @@ var presentTask = require('../../view/presenter/task'); var presentResult = require('../../view/presenter/result'); +var presentResultList = require('../../view/presenter/result-list'); module.exports = route; @@ -19,7 +20,7 @@ function route (app) { } res.render('task', { task: presentTask(task), - results: results.map(presentResult), + results: presentResultList(results.map(presentResult)), mainResult: task.lastResult || null, added: (typeof req.query.added !== 'undefined') }); diff --git a/view/presenter/result-list.js b/view/presenter/result-list.js new file mode 100644 index 0000000..58c8ada --- /dev/null +++ b/view/presenter/result-list.js @@ -0,0 +1,17 @@ +'use strict'; + +var _ = require('underscore'); +var moment = require('moment'); + +module.exports = presentResultList; + +function presentResultList (results) { + var resultsByDay = _.groupBy(results, function (result) { + return moment(result.date).format('YYYY-MM-DD'); + }); + var uniqueDayResults = []; + _.keys(resultsByDay).forEach(function (day) { + uniqueDayResults.push(resultsByDay[day][0]); + }); + return uniqueDayResults; +}