(filter)
| 16 | }); |
| 17 | |
| 18 | function showTodo(filter) { |
| 19 | let liTag = ""; |
| 20 | if (todos) { |
| 21 | todos.forEach((todo, id) => { |
| 22 | let completed = todo.status == "completed" ? "checked" : ""; |
| 23 | if (filter == todo.status || filter == "all") { |
| 24 | liTag += `<li class="task"> |
| 25 | <label for="${id}"> |
| 26 | <input onclick="updateStatus(this)" type="checkbox" id="${id}" ${completed}> |
| 27 | <p class="${completed}">${todo.name}</p> |
| 28 | </label> |
| 29 | <div class="settings"> |
| 30 | <i onclick="showMenu(this)" class="uil uil-ellipsis-h"></i> |
| 31 | <ul class="task-menu"> |
| 32 | <li onclick='editTask(${id}, "${todo.name}")'><i class="uil uil-pen"></i>Edit</li> |
| 33 | <li onclick='deleteTask(${id}, "${filter}")'><i class="uil uil-trash"></i>Delete</li> |
| 34 | </ul> |
| 35 | </div> |
| 36 | </li>`; |
| 37 | } |
| 38 | }); |
| 39 | } |
| 40 | taskBox.innerHTML = liTag || `<span>You don't have any task here</span>`; |
| 41 | let checkTask = taskBox.querySelectorAll(".task"); |
| 42 | !checkTask.length |
| 43 | ? clearAll.classList.remove("active") |
| 44 | : clearAll.classList.add("active"); |
| 45 | taskBox.offsetHeight >= 300 |
| 46 | ? taskBox.classList.add("overflow") |
| 47 | : taskBox.classList.remove("overflow"); |
| 48 | } |
| 49 | showTodo("all"); |
| 50 | |
| 51 | function showMenu(selectedTask) { |
no test coverage detected