fixed filtering logic

view should not change when single todos are modified
main
Giulio Alessandrini 2021-08-01 23:04:31 +02:00
parent 960ff4ee24
commit 9ded69a288
1 changed files with 13 additions and 4 deletions

View File

@ -1,6 +1,8 @@
<script>
import {todos} from "$lib/stores/todos.js";
let todo_text = "";
let todo_type = "all";
let filteredTodo = [];
let addTodo = () => {
if (todo_text.length > 0) {
const todo = {
@ -8,17 +10,21 @@
date: Date.now,
done: false
}
if (todo_type == "done") todo_type = "all";
$todos = [todo, ...$todos];
}
}
let clearTodo = (todo) => {
if(todo.done)
if(todo.done) {
$todos = $todos.filter(x => x != todo)
else
}
else {
todo.done = true;
$todos = $todos;
$todos = $todos
}
}
let filterTodo = (type) => {
todo_type = type;
switch (type) {
case 'active':
filteredTodo = $todos.filter(todo => !todo.done);
@ -31,7 +37,10 @@
break;
}
}
$: filteredTodo = $todos
$: {
filteredTodo = $todos;
filterTodo(todo_type)
}
</script>
<div class = "panel">