actions.js 658 B

123456789101112131415161718192021222324252627282930313233
  1. export default {
  2. addTodo ({ commit }, text) {
  3. commit('addTodo', {
  4. text,
  5. done: false
  6. })
  7. },
  8. removeTodo ({ commit }, todo) {
  9. commit('removeTodo', todo)
  10. },
  11. toggleTodo ({ commit }, todo) {
  12. commit('editTodo', { todo, done: !todo.done })
  13. },
  14. editTodo ({ commit }, { todo, value }) {
  15. commit('editTodo', { todo, text: value })
  16. },
  17. toggleAll ({ state, commit }, done) {
  18. state.todos.forEach((todo) => {
  19. commit('editTodo', { todo, done })
  20. })
  21. },
  22. clearCompleted ({ state, commit }) {
  23. state.todos.filter(todo => todo.done)
  24. .forEach(todo => {
  25. commit('removeTodo', todo)
  26. })
  27. }
  28. }