diff --git a/awesome_owl/static/src/todo_list/todo_item.js b/awesome_owl/static/src/todo_list/todo_item.js index 1b38ddb..2d1f126 100644 --- a/awesome_owl/static/src/todo_list/todo_item.js +++ b/awesome_owl/static/src/todo_list/todo_item.js @@ -8,6 +8,11 @@ export class TodoItem extends Component { todo: { type: Object, shape: { id: Number, description: String, isCompleted: Boolean } - } + }, + onToggle: Function, }; + + toggle() { + this.props.onToggle(this.props.todo.id); + } } \ No newline at end of file diff --git a/awesome_owl/static/src/todo_list/todo_item.xml b/awesome_owl/static/src/todo_list/todo_item.xml index db85957..5eda902 100644 --- a/awesome_owl/static/src/todo_list/todo_item.xml +++ b/awesome_owl/static/src/todo_list/todo_item.xml @@ -1,8 +1,12 @@ -
- . +
+ +
\ No newline at end of file diff --git a/awesome_owl/static/src/todo_list/todo_list.js b/awesome_owl/static/src/todo_list/todo_list.js index aaeb8cd..3433421 100644 --- a/awesome_owl/static/src/todo_list/todo_list.js +++ b/awesome_owl/static/src/todo_list/todo_list.js @@ -24,4 +24,11 @@ export class TodoList extends Component { } } } + + toggleState(id) { + const todo = this.todos.find((obj) => obj.id === id); + if (todo) { + todo.isCompleted = !todo.isCompleted; + } + } } \ No newline at end of file diff --git a/awesome_owl/static/src/todo_list/todo_list.xml b/awesome_owl/static/src/todo_list/todo_list.xml index 8aaf87b..1cfca54 100644 --- a/awesome_owl/static/src/todo_list/todo_list.xml +++ b/awesome_owl/static/src/todo_list/todo_list.xml @@ -4,7 +4,7 @@

- +