From 5d3ab6ad4d39428e137264efd11466c9dbbaaceb Mon Sep 17 00:00:00 2001 From: Raihan Sharif Date: Fri, 27 Feb 2026 10:34:39 +0000 Subject: [PATCH] Implement todos app --- Sprint-3/todo-list/index.html | 76 ++++++++++++++++++------------- Sprint-3/todo-list/script.mjs | 26 +++++++---- Sprint-3/todo-list/style.css | 23 +++++++++- Sprint-3/todo-list/todos.mjs | 9 +++- Sprint-3/todo-list/todos.test.mjs | 45 ++++++++++++++---- 5 files changed, 126 insertions(+), 53 deletions(-) diff --git a/Sprint-3/todo-list/index.html b/Sprint-3/todo-list/index.html index 4d12c4654..d512471f2 100644 --- a/Sprint-3/todo-list/index.html +++ b/Sprint-3/todo-list/index.html @@ -1,40 +1,54 @@ - + - - - - ToDo List - - + + + + ToDo List + + - - - -
-

My ToDo List

+ + + +
+

My ToDo List

-
- - -
+
+ + +
+ +
+ +
-
    -
+
    - - - -
    - + +
    + diff --git a/Sprint-3/todo-list/script.mjs b/Sprint-3/todo-list/script.mjs index ba0b2ceae..5d741d6dd 100644 --- a/Sprint-3/todo-list/script.mjs +++ b/Sprint-3/todo-list/script.mjs @@ -1,4 +1,4 @@ -// Store everything imported from './todos.mjs' module as properties of an object named Todos +// Store everything imported from './todos.mjs' module as properties of an object named Todos import * as Todos from "./todos.mjs"; // To store the todo tasks @@ -7,16 +7,18 @@ const todos = []; // Set up tasks to be performed once on page load window.addEventListener("load", () => { document.getElementById("add-task-btn").addEventListener("click", addNewTodo); + document + .getElementById("delete-all-completed-btn") + .addEventListener("click", deleteAllCompleted); // Populate sample data - Todos.addTask(todos, "Wash the dishes", false); + Todos.addTask(todos, "Wash the dishes", false); Todos.addTask(todos, "Do the shopping", true); render(); }); - -// A callback that reads the task description from an input field and +// A callback that reads the task description from an input field and // append a new task to the todo list. function addNewTodo() { const taskInput = document.getElementById("new-task-input"); @@ -29,6 +31,11 @@ function addNewTodo() { taskInput.value = ""; } +function deleteAllCompleted() { + Todos.deleteCompleted(todos); + render(); +} + // Note: // - Store the reference to the