From b20a3b73815ef5a4f4930ad263ab292c411a7102 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 29 Dec 2013 00:12:15 -0700 Subject: [PATCH] #1499 add list filter on tasks to not display completed todos at all until "completed" tab clicked --- public/js/filters/filters.js | 6 ++++++ views/shared/tasks/task.jade | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/public/js/filters/filters.js b/public/js/filters/filters.js index 9d2255d9e2..222a8bb30a 100644 --- a/public/js/filters/filters.js +++ b/public/js/filters/filters.js @@ -8,4 +8,10 @@ angular.module('habitrpg') return function (gp) { return Math.floor((gp - Math.floor(gp))*100); } + }) + .filter('completedFilter', function(){ + return function(tasks,_showCompleted) { + if (tasks[0].type != 'todo') return tasks; + return _.where(tasks, {completed:!!_showCompleted}); + } }) \ No newline at end of file diff --git a/views/shared/tasks/task.jade b/views/shared/tasks/task.jade index c032d8f794..19f34d7205 100644 --- a/views/shared/tasks/task.jade +++ b/views/shared/tasks/task.jade @@ -1,4 +1,4 @@ -li(bindonce='list', ng-repeat='task in obj[list.type+"s"]', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && castEnd(task, "task", $event)', ng-class='{"cast-target":spell}') +li(bindonce='list', ng-repeat='task in obj[list.type+"s"] | completedFilter: list.showCompleted', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && castEnd(task, "task", $event)', ng-class='{"cast-target":spell}') // right-hand side control buttons .task-meta-controls