[API] Check/uncheck todos

This commit is contained in:
Victor Woeltjen 2016-05-27 16:55:10 -07:00
parent a79e958ffc
commit 0525ba6b0b
2 changed files with 18 additions and 4 deletions

View File

@ -56,5 +56,11 @@ define([
main: "MAIN"
};
MCT.prototype.verbs = {
mutate: function (domainObject, mutator) {
return domainObject.useCapability('mutation', mutator);
}
};
return MCT;
});

View File

@ -54,7 +54,7 @@ define([
complete: $els.find('.example-todo-button-complete')
};
var filters = {
all: function (task) {
all: function () {
return true;
},
incomplete: function (task) {
@ -71,12 +71,20 @@ define([
tasks = tasks.filter(filters[state.filter]);
$list.empty();
tasks.forEach(function (task) {
tasks.forEach(function (task, index) {
var $taskEls = $(taskTemplate);
$taskEls.find('.example-task-checked')
.prop('checked', task.completed);
var $checkbox = $taskEls.find('.example-task-checked');
$checkbox.prop('checked', task.completed);
$taskEls.find('.example-task-description')
.text(task.description);
$checkbox.on('change', function () {
var checked = !!$checkbox.prop('checked');
mct.verbs.mutate(domainObject, function (model) {
model.tasks[index].completed = checked;
});
});
$list.append($taskEls);
});