-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
61 lines (56 loc) · 2.19 KB
/
script.js
File metadata and controls
61 lines (56 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const taskInput = document.getElementById("task");
const priorityInput = document.getElementById("priority");
const deadlineInput = document.getElementById("deadline");
const addTaskButton = document.getElementById("add-task");
const taskList = document.getElementById("task-list");
function addTaskToDOM({ task, priority, deadline }) {
const taskItem = document.createElement("div");
taskItem.classList.add("task");
taskItem.innerHTML = `
<p class="task-name">${task}</p>
<p class="task-priority">Priority: ${priority}</p>
<p class="task-deadline">Deadline: ${deadline}</p>
<button class="mark-done">Mark Done</button>
<button class="edit-task">Edit</button>
<button class="delete-task">Delete</button>
`;
taskList.appendChild(taskItem);
}
addTaskButton.addEventListener("click", () => {
const task = taskInput.value;
const priority = priorityInput.value;
const deadline = deadlineInput.value;
if (task.trim() === "" || deadline === "") {
alert("Both task and deadline are required.");
return;
}
const selectedDate = new Date(deadline);
const currentDate = new Date();
if (selectedDate <= currentDate) {
alert("The deadline must be in the future.");
return;
}
addTaskToDOM({ task, priority, deadline });
taskInput.value = "";
priorityInput.value = "top";
deadlineInput.value = "";
});
taskList.addEventListener("click", (event) => {
if (event.target.classList.contains("mark-done")) {
const taskItem = event.target.parentElement;
taskItem.style.textDecoration = "line-through";
event.target.nextSibling.remove(); // Remove edit button
event.target.nextSibling.remove(); // Remove delete button
event.target.remove(); // Remove mark done button
} else if (event.target.classList.contains("edit-task")) {
const taskItem = event.target.parentElement;
taskInput.value = taskItem.querySelector('.task-name').textContent;
priorityInput.value = taskItem.querySelector('.task-priority').textContent.split(": ")[1];
deadlineInput.value = taskItem.querySelector('.task-deadline').textContent;
taskItem.remove();
} else if (event.target.classList.contains("delete-task")) {
if (confirm("Are you sure you want to delete this task?")) {
event.target.parentElement.remove();
}
}
});