diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index ff6fae6..d825ce2 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -19,3 +19,9 @@ li:nth-of-type(odd){ display: inline-block; min-width : 10em; } + +tag{ + background : #00B7FF; + padding: 0.5em; + border-radius: 0.15em; +} diff --git a/routes/index.js b/routes/index.js index 149ef39..45203b9 100644 --- a/routes/index.js +++ b/routes/index.js @@ -58,9 +58,56 @@ function computeData(jsonAllData){ // et rajouter ce nombre à chaque tag, dans countTasks : N // let tagCountTasks = Object.create(jsonAllData.tags); + jsonAllData.stats = { + tasksCount : jsonAllData.tasks.project.task.length, + tasksClosed : 0, + tasksOpen : 0, + listOpen: [], + listClosed: [], + } + for(let t of jsonAllData.tasks.project.task ) { - console.log('t', t) - let tags = t["$"].tags + // console.log('t', t) + let tags = t["$"].tags.split(',') + for(let tag of tags){ + // console.log('tag', tag) + jsonAllData.tags.tagstore.tag.map( elem =>{ + // console.log('elem', elem) + if(elem['$'].name == tag){ + if(!elem.tasks){ + elem.tasks = 0 + } + if(!elem.tasksListById){ + elem.tasksListById = [] + } + if(!elem.tasksListByTitle){ + elem.tasksListByTitle = [] + } + if(!elem.tasksListIsActiveByTitle){ + elem.tasksListIsActiveByTitle = [] + } + if(!elem.tasksListIsDoneByTitle){ + elem.tasksListIsDoneByTitle = [] + } + elem.tasks++ + elem.tasksListById.push(t['$'].id) + elem.tasksListByTitle.push(t.title) + if(t['$'].status == "Active"){ + elem.tasksListIsActiveByTitle.push(t.title) + } + if(t['$'].status == "Done"){ + elem.tasksListIsDoneByTitle.push(t.title) + } + } + }) + // found.tasks++ + } + if(t.donedate){ + jsonAllData.stats.tasksClosed++; + jsonAllData.stats.listOpen.push(t); + }else{ + jsonAllData.stats.tasksOpen++; + } // console.log('tags', tags) } return jsonAllData diff --git a/views/index.jade b/views/index.jade index 1c4a77b..b312583 100644 --- a/views/index.jade +++ b/views/index.jade @@ -5,6 +5,9 @@ block content p Welcome to #{title} section.tasks h2 #{json.tasks.project.task.length} Tâches + ul.stats + li #{json.stats.tasksOpen} ouvertes + li #{json.stats.tasksClosed} fermées section.tags h2 #{json.tags.tagstore.tag.length} Tags ul.tags @@ -13,8 +16,15 @@ block content span.color couleur span.parent parent span.tasks tâches + span.tasks actives + span.tasks finies each t in json.tags.tagstore.tag li span.name= t['$'].name span.color= t['$'].color span.parent= t['$'].parent + span.tasks= t.tasks + if t.tasksListIsActiveByTitle + span.tasks= t.tasksListIsActiveByTitle.length + if t.tasksListIsDoneByTitle + span.tasks= t.tasksListIsDoneByTitle.length