-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
151 lines (121 loc) · 4.56 KB
/
index.js
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
const todolist = document.querySelector('.todoslist');
const addbtn = document.querySelector('#addbtn');
const todoinput = document.querySelector('#enter');
const todos = [
];
// display todo
function displaytodo(todos) {
todolist.innerHTML = '';
if (todos.length === 0) {
console.log('no todos found');
} else {
for (let index = 0; index < todos.length; index++) {
const todoitem = document.createElement("div");
todoitem.classList.add('todo');
// add checkbox
const todocheckbox = document.createElement("input");
todocheckbox.type = "checkbox";
todoitem.appendChild(todocheckbox);
// create and add description
const tododescription = document.createElement("p");
tododescription.textContent = todos[index].description;
todoitem.appendChild(tododescription);
// add delete button to todoitem
const tododeletebutton = document.createElement("button");
tododeletebutton.textContent = "delete";
tododeletebutton.addEventListener('click', () => deletetodo(index))
todoitem.appendChild(tododeletebutton);
// add edit button to todoitem
const todoeditbutton = document.createElement("button");
todoeditbutton.textContent = "edit";
todoitem.appendChild(todoeditbutton);
// Update the todo counter
const counter = document.getElementById("counter");
counter.textContent = todos.length;
todolist.appendChild(todoitem);
}
}
}
function addtodo() {
const tododescription = todoinput.value.trim();
const newtodo = {
description: tododescription,
completed: false
}
todos.push(newtodo);
displaytodo(todos);
}
function updatetodo() {
console.log('todo is update');
}
function deletetodo(index) {
todos.splice(index, 1);
displaytodo(todos);
}
addbtn.addEventListener("click", addtodo);
function download() {
alert('download');
}
const downloadButton = document.getElementById("down");
downloadButton.addEventListener("click", download);
// display todo
function displaytodo() {
todolist.innerHTML = '';
if (todos.length === 0) {
console.log('no todos found');
} else {
for (let index = 0; index < todos.length; index++) {
const todoitem = document.createElement("div");
todoitem.classList.add('todo');
// add checkbox
const todocheckbox = document.createElement("input");
todocheckbox.type = "checkbox";
todoitem.appendChild(todocheckbox);
// create and add description
const tododescription = document.createElement("p");
tododescription.textContent = todos[index].description;
todoitem.appendChild(tododescription);
// add delete button to todoitem
const tododeletebutton = document.createElement("button");
tododeletebutton.textContent = "delete";
tododeletebutton.addEventListener('click', () => deletetodo(index))
todoitem.appendChild(tododeletebutton);
// add edit button to todoitem
const todoeditbutton = document.createElement("button");
todoeditbutton.textContent = "edit";
todoeditbutton.addEventListener('click', () => editTodo(index));
todoitem.appendChild(todoeditbutton);
todolist.appendChild(todoitem);
}
}
}
function addtodo() {
const tododescription = todoinput.value.trim();
const newtodo = {
description: tododescription,
completed: false
}
todos.push(newtodo);
displaytodo();
}
function editTodo(index) {
// Get the current description of the todo
const currentDescription = todos[index].description;
// Create an input field
const todoinput = document.createElement("input");
todoinput.type = "text";
todoinput.value = currentDescription;
// Create a save button
const saveButton = document.createElement("button");
saveButton.textContent = "Save";
saveButton.addEventListener('click', () => saveTodoDescription(index, todoinput.value));
// Replace the description with the input field and save button
const todoItem = todolist.children[index];
const tododescription = todoItem.querySelector("p");
tododescription.replaceWith(todoinput, saveButton);
}
function saveTodoDescription(index, newDescription) {
todos[index].description = newDescription;
displaytodo();
}
// Rest of your code...