-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
117 lines (104 loc) · 2.92 KB
/
script.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
const fecha = document.querySelector("#fecha");
const lista = document.querySelector("#lista");
const input = document.querySelector("#input");
const enter = document.querySelector("#enter");
const check = "fa-circle-check";
const uncheck = "fa-circle";
const lineThrough = "line-through";
let id;
let LIST;
//Fecha
const FECHA = new Date();
fecha.innerHTML = FECHA.toLocaleDateString("es-AR", {
weekday: "long",
month: "long",
day: "numeric",
hour: "numeric",
minute: "numeric",
});
//FUNCION AGREGAR TAREA
const agregarTarea = (tarea, id, realizado, eliminado) => {
if (eliminado) {
return;
}
const REALIZADO = realizado ? check : uncheck;
const LINE = realizado ? lineThrough : "";
const elemento = ` <li id="elemento">
<i class="fa-sharp fa-regular ${REALIZADO}" data="realizado"id="${id}"></i>
<p class="text ${LINE}" > ${tarea} </p>
<i class="fa-sharp fa-solid fa-trash" data="eliminado" id="${id}"></i>
</li>`;
lista.insertAdjacentHTML("beforeend", elemento);
};
//Fucion de tarea Realizada
const tareRealizada = (element) => {
element.classList.toggle(check);
element.classList.toggle(uncheck);
element.parentNode.querySelector(".text").classList.toggle(lineThrough);
console.log(LIST);
LIST[element.id].realizado = LIST[element.id].realizado ? false : true;
console.log(LIST[element.id]);
console.log(LIST[element.id].realizado);
};
//funcion de tarea eliminar
const tareaEliminada = (element) => {
element.parentNode.parentNode.removeChild(element.parentNode);
LIST[element.id].eliminado = true;
};
enter.addEventListener("click", () => {
const tarea = input.value;
if (tarea) {
agregarTarea(tarea, id, false, false);
LIST.push({
nombre: tarea,
id: id,
realizado: false,
eliminado: false,
});
}
localStorage.setItem("TODO", JSON.stringify(LIST));
input.value = "";
id++;
});
document.addEventListener("keyup", (event) => {
if (event.key == "Enter") {
const tarea = input.value;
if (tarea) {
agregarTarea(tarea, id, false, false);
LIST.push({
nombre: tarea,
id: id,
realizado: false,
eliminado: false,
});
}
localStorage.setItem("TODO", JSON.stringify(LIST));
input.value = "";
id++;
}
});
lista.addEventListener("click", (event) => {
const element = event.target;
const elementData = element.attributes.data.value;
if (elementData === "realizado") {
tareRealizada(element);
} else if (elementData === "eliminado") {
tareaEliminada(element);
}
localStorage.setItem("TODO", JSON.stringify(LIST));
});
//local Storage get item
let data = localStorage.getItem("TODO");
if (data) {
LIST = JSON.parse(data);
id = LIST.length;
cargarLista(LIST);
} else {
LIST = [];
id = 0;
}
function cargarLista(DATA) {
DATA.forEach(function (i) {
agregarTarea(i.nombre, i.id, i.realizado, i.eliminado);
});
}