v3 client: fix filtering by tag and correctly show tag tooltip

This commit is contained in:
Matteo Pagliazzi
2016-05-15 12:31:27 +02:00
parent 0f7964cac1
commit cb0939a38c
2 changed files with 12 additions and 4 deletions

View File

@@ -4,9 +4,9 @@ Are there tags applied?
// TODO move to client // TODO move to client
module.exports = function appliedTags (userTags, taskTags = {}) { module.exports = function appliedTags (userTags, taskTags = []) {
let arr = userTags.filter(tag => { let arr = userTags.filter(tag => {
return taskTags[tag.id]; return taskTags.indexOf(tag.id) !== -1;
}).map(tag => { }).map(tag => {
return tag.name; return tag.name;
}); });

View File

@@ -5,6 +5,9 @@ import {
/* /*
Task classes given everything about the class 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) { module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCron = Number(new Date()), showCompleted = false, main = false) {
if (!task) { if (!task) {
return ''; return '';
@@ -18,16 +21,18 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro
if (main && !task._editing) { if (main && !task._editing) {
for (let filter in filters) { for (let filter in filters) {
let enabled = filters[filter]; let enabled = filters[filter];
if (!task.tags) task.tags = {}; if (!task.tags) task.tags = [];
if (enabled && !task.tags[filter]) { if (enabled && task.tags.indexOf(filter) === -1) {
return 'hidden'; return 'hidden';
} }
} }
} }
classes = task.type; classes = task.type;
if (task._editing) { if (task._editing) {
classes += ' beingEdited'; classes += ' beingEdited';
} }
if (type === 'todo' || type === 'daily') { if (type === 'todo' || type === 'daily') {
if (completed || (type === 'daily' && !shouldDo(Number(new Date()), task, { // eslint-disable-line no-extra-parens if (completed || (type === 'daily' && !shouldDo(Number(new Date()), task, { // eslint-disable-line no-extra-parens
dayStart, dayStart,
@@ -44,6 +49,7 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro
classes += ' habit-narrow'; classes += ' habit-narrow';
} }
} }
if (priority === 0.1) { if (priority === 0.1) {
classes += ' difficulty-trivial'; classes += ' difficulty-trivial';
} else if (priority === 1) { } else if (priority === 1) {
@@ -53,6 +59,7 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro
} else if (priority === 2) { } else if (priority === 2) {
classes += ' difficulty-hard'; classes += ' difficulty-hard';
} }
if (value < -20) { if (value < -20) {
classes += ' color-worst'; classes += ' color-worst';
} else if (value < -10) { } else if (value < -10) {
@@ -68,5 +75,6 @@ module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCro
} else { } else {
classes += ' color-best'; classes += ' color-best';
} }
return classes; return classes;
}; };