fix: Correct checklist on client

Closes #7207
This commit is contained in:
Blade Barringer
2016-05-13 22:05:00 -05:00
parent 1fd7df7521
commit 0a8b8236c1
2 changed files with 18 additions and 16 deletions

View File

@@ -100,8 +100,11 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
};
$scope.saveTask = function(task, stayOpen, isSaveAndClose) {
if (task.checklist)
task.checklist = _.filter(task.checklist,function(i){return !!i.text});
if (task.checklist) {
task.checklist = _.filter(task.checklist, function (i) {
return !!i.text
});
}
User.updateTask(task, {body: task});
if (!stayOpen) task._editing = false;
@@ -172,8 +175,8 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
if (!task.checklist[$index].text) {
// Don't allow creation of an empty checklist item
// TODO Provide UI feedback that this item is still blank
} else if ($index == task.checklist.length-1){
User.updateTask({params:{id:task._id},body:task}); // don't preen the new empty item
} else if ($index == task.checklist.length - 1) {
Tasks.addChecklistItem(task._id, task.checklist[$index]);
task.checklist.push({completed:false,text:''});
focusChecklist(task,task.checklist.length-1);
} else {
@@ -185,12 +188,12 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
$scope.removeChecklistItem = function(task, $event, $index, force){
// Remove item if clicked on trash icon
if (force) {
Tasks.removeChecklistItem(task._id, task.checklist[$index]._id);
Tasks.removeChecklistItem(task._id, task.checklist[$index].id);
task.checklist.splice($index, 1);
} else if (!task.checklist[$index].text) {
// User deleted all the text and is now wishing to delete the item
// saveTask will prune the empty item
Tasks.removeChecklistItem(task._id, task.checklist[$index]._id);
Tasks.removeChecklistItem(task._id, task.checklist[$index].id);
// Move focus if the list is still non-empty
if ($index > 0)
focusChecklist(task, $index-1);