From cb0939a38c9c63c164455ce16dcc5a0bbd6ba17b Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sun, 15 May 2016 12:31:27 +0200 Subject: [PATCH] v3 client: fix filtering by tag and correctly show tag tooltip --- common/script/libs/appliedTags.js | 4 ++-- common/script/libs/taskClasses.js | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/common/script/libs/appliedTags.js b/common/script/libs/appliedTags.js index c65074033e..ded2a9de23 100644 --- a/common/script/libs/appliedTags.js +++ b/common/script/libs/appliedTags.js @@ -4,9 +4,9 @@ Are there tags applied? // TODO move to client -module.exports = function appliedTags (userTags, taskTags = {}) { +module.exports = function appliedTags (userTags, taskTags = []) { let arr = userTags.filter(tag => { - return taskTags[tag.id]; + return taskTags.indexOf(tag.id) !== -1; }).map(tag => { return tag.name; }); diff --git a/common/script/libs/taskClasses.js b/common/script/libs/taskClasses.js index 0939c8b837..9ef223d9f7 100644 --- a/common/script/libs/taskClasses.js +++ b/common/script/libs/taskClasses.js @@ -5,6 +5,9 @@ import { /* Task classes given everything about the class */ + +// TODO move to the client + module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCron = Number(new Date()), showCompleted = false, main = false) { if (!task) { return ''; @@ -18,16 +21,18 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro if (main && !task._editing) { for (let filter in filters) { let enabled = filters[filter]; - if (!task.tags) task.tags = {}; - if (enabled && !task.tags[filter]) { + if (!task.tags) task.tags = []; + if (enabled && task.tags.indexOf(filter) === -1) { return 'hidden'; } } } + classes = task.type; if (task._editing) { classes += ' beingEdited'; } + if (type === 'todo' || type === 'daily') { if (completed || (type === 'daily' && !shouldDo(Number(new Date()), task, { // eslint-disable-line no-extra-parens dayStart, @@ -44,6 +49,7 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro classes += ' habit-narrow'; } } + if (priority === 0.1) { classes += ' difficulty-trivial'; } else if (priority === 1) { @@ -53,6 +59,7 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro } else if (priority === 2) { classes += ' difficulty-hard'; } + if (value < -20) { classes += ' color-worst'; } else if (value < -10) { @@ -68,5 +75,6 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro } else { classes += ' color-best'; } + return classes; };