diff --git a/controllers/challengeMap.js b/controllers/challengeMap.js index 210586f190..276671e8cb 100644 --- a/controllers/challengeMap.js +++ b/controllers/challengeMap.js @@ -26,7 +26,12 @@ module.exports = { .map(function(challenge) { return challenge._id; }); - var challengeList = resources.getChallengeMapForDisplay(completedChallengeList); + var challengeList = resources.getChallengeMapForDisplay(); + Object.keys(challengeList).forEach(function(key) { + challengeList[key].completed = challengeList[key].challenges.filter(function(elem) { + return completedChallengeList.indexOf(elem._id) > 0; + }); + }); function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); diff --git a/controllers/resources.js b/controllers/resources.js index eabb05f87f..a524e23930 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -72,19 +72,14 @@ Array.zip = function(left, right, combinerFunction) { module.exports = { - getChallengeMapForDisplay: function(completedChallengeList) { + getChallengeMapForDisplay: function() { if (!challengeMapForDisplay) { challengeMapForDisplay = {}; Object.keys(challengeMap).forEach(function(key) { - //TODO get ratio of completed to uncompleted for each section - //challengeMap[key].challenges.forEach(function(challenge){ - // - //} challengeMapForDisplay[key] = { name: challengeMap[key].name, dashedName: challengeMap[key].name.replace(/\s/g, '-'), - challenges: challengeMap[key].challenges, - completedCount: challengeMap[key].challenges //ToDo count number of uncompleted challenges + challenges: challengeMap[key].challenges } }); } diff --git a/views/challengeMap/show.jade b/views/challengeMap/show.jade index 3c3280564d..056e92bf7f 100644 --- a/views/challengeMap/show.jade +++ b/views/challengeMap/show.jade @@ -2,6 +2,7 @@ extends ../layout block content script. var completedChallenges = !{JSON.stringify(completedChallengeList)}; + var challengeList = !{JSON.stringify(challengeList)} .panel.panel-info .panel-heading.text-center h1 Challenge Map