-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
85 lines (72 loc) · 2.46 KB
/
script.js
File metadata and controls
85 lines (72 loc) · 2.46 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// script.js
let tasks = [];
let editIndex = null;
function renderTasks() {
const table = document.getElementById("taskTable");
const filter = document.getElementById("statusFilter").value;
const search = document.getElementById("searchInput").value.toLowerCase();
table.innerHTML = "";
tasks
.filter(task =>
(filter === "All" || task.status === filter) &&
task.description.toLowerCase().includes(search)
)
.forEach((task, index) => {
const row = document.createElement("tr");
row.innerHTML = `
<td>${task.status}</td>
<td>${task.description}</td>
<td>${task.priority}</td>
<td>${task.dueDate}</td>
<td>
<button onclick="editTask(${index})">✏</button>
<button onclick="deleteTask(${index})">🗑</button>
</td>
`;
table.appendChild(row);
});
}
function openForm() {
document.getElementById("taskForm").style.display = "block";
clearForm();
}
function closeForm() {
document.getElementById("taskForm").style.display = "none";
}
function clearForm() {
editIndex = null;
document.getElementById("taskDescription").value = "";
document.getElementById("taskStatus").value = "Active";
document.getElementById("taskPriority").value = "High Priority";
document.getElementById("taskDueDate").value = "";
}
function saveTask() {
const description = document.getElementById("taskDescription").value;
const status = document.getElementById("taskStatus").value;
const priority = document.getElementById("taskPriority").value;
const dueDate = document.getElementById("taskDueDate").value;
const task = { description, status, priority, dueDate };
if (editIndex !== null) {
tasks[editIndex] = task;
} else {
tasks.push(task);
}
closeForm();
renderTasks();
}
function editTask(index) {
const task = tasks[index];
editIndex = index;
document.getElementById("taskDescription").value = task.description;
document.getElementById("taskStatus").value = task.status;
document.getElementById("taskPriority").value = task.priority;
document.getElementById("taskDueDate").value = task.dueDate;
openForm();
}
function deleteTask(index) {
tasks.splice(index, 1);
renderTasks();
}
document.getElementById("statusFilter").addEventListener("change", renderTasks);
document.getElementById("searchInput").addEventListener("input", renderTasks);
renderTasks();