Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En el siguiente paso a paso, realizaremos una pequeña aplicación que nos permitirá
realizar anotaciones de tareas y/o actividades diarias que nos ayuden a organizar
nuestro diario vivir.
Implementaremos como principal lenguaje JavaScript con el paradigma de programación
POO (Programación Orientada a Objetos).
Para la persistencia de datos implementaremos el Localstorage del navegador siendo una
herramienta muy eficaz para el almacenamiento temporal de los datos y que nos
permitirá mantener estos datos aún cuando la página sea recargada, y no se perderán
los datos que trabajemos en la ejecución del aplicativo.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Mis anotaciones</title>
</head>
<body>
<div class="container mt-5">
<h3><i class="material-icons">accessibility</i>Tareas Díarias</h3>
<form id="formulario">
<input type="text" id="actividad" class="form-control my-3">
<button type="submit" class="btn btn-primary">Guardar</button>
</form>
</div>
</html>
Creamos una constante llamada formularioUI para capturar el formulario del html que
contiene el input y el botón de guardar.
FUNCIONES
A partir de aquí comenzaremos a definir las funciones que se ejecutarán para que
nuestra aplicación pueda funcionar de manera optima.
Iniciaremos con la función de CrearTarea().
1. CrearTarea();
Esta función permitirá capturar los datos enviados a través del formulario y
almacenarlos en el arreglo definido arriba de manera global a través del método
push();
let item = {
actividad: actividad,
estado: false
}
arrayActividades.push(item);
}
Esta función recibe como parámetro la descripción que se envía en el input del
formulario.
Insertamos el arreglo ítem con los datos de la tarea, al arreglo global llamado
arrayActividades, con el metodo Push().
2. GuardarTareaLS().
Esta función permitirá guardar la tarea en el Localstorage para su persistencia.
localStorage.setItem('rutina', JSON.stringify(arrayActividades));
PintarTarea();
}
3. PintarTarea().
Ya creada la tarea y guardada en el localStorage, tenemos que pintar la actividad en
el index.html para que el usuario pueda visualizarla.
listaActividadesUI.innerHTML = '';
arrayActividades = JSON.parse(localStorage.getItem('rutina'));
}
}
listaActividadesUI.innerHTML = '';
arrayActividades = JSON.parse(localStorage.getItem('rutina'));
Validamos que este arreglo no venga vacío, ahora bien, si viene vacio no pasa
nada, de lo contrario si trae un dato, significando que ya se guardo una
tarea, entonces procedemos a imprimir en el index.html.
if(element.estado){
//Imprimir con el innerHTML la tarea en verde
}else{
//Imprimir con el innerHTML la tarea en rojo
}
if(element.estado){
listaActividadesUI.innerHTML += `
<div class="alert alert-success" role="alert">
<i class="material-icons float-left mr-2">accessibility</i><b>
${element.actividad}</b> - ${element.estado}
<span class="float-right">
<i class="material-icons">done</i>
<i class="material-icons">delete</i>
</span>
</div>`
}else{
listaActividadesUI.innerHTML += `
<div class="alert alert-danger" role="alert">
<i class="material-icons float-left mr-2">accessibility</i><b>
${element.actividad}</b> - ${element.estado}
<span class="float-right">
<i class="material-icons">done</i>
<i class="material-icons">delete</i>
</span>
</div>`
}
formularioUI.reset();
});
document.addEventListener("DOMContentLoaded", PintarDB);
Por ultimo creamos un evento Listener que se ejecute cada vez que el DOM se
recargue con nuevo dato.
5. Eliminar Tarea.
Vamos a crear la fusión para eliminar una tarea registrada en nuestra aplicación y que
sea removida desde el localStorage.
5.1 BorrarTarea().
Esta función recibe como parámetro el nodo o el contenido del localStorage para ser
removido con el método splice().
arrayActividades.splice(indexArray, 1);
GuardarTareaLS();
};
Creamos una variable llamada indexArray, que nos permitirá capturar el índice
exacto de la tarea en el localStorage.
5.2 CambiarEstadoTarea().
Esta función recibe como parámetro el nodo o el contenido del localStorage para que
el estado pueda ser actualizado.
arrayActividades[indexArray].estado = true;
GuardarTareaLS();
};
Esta función es muy sencilla, en primer lugar almacena en una variable llamada
indexArray la respuesta que trae el método findIndex() aplicada al arreglo global
de las actividades.
Fechas.
Lugares.
Hora.
Nivel de importancia
Lo se que te ocurra…