let currentElement = "";
let tasks = JSON.parse(localStorage.getItem("taskArray")) || [];
filteredTasks = tasks;
displayAllData(tasks);
function displayData(tasks) {
const template = document.getElementById("eventData-template");
const taskBody = document.getElementById("results");
taskBody.innerHTML = "";
let curtasks = JSON.parse(localStorage.getItem("taskArray")) || [];
let today3 = new Date();
for (let i = 0; i < curtasks.length; i++) {
if (curtasks[i].completed == 'no' ) {
const taskRows = document.importNode(template.content, true);
let todayL = curtasks[i].dateDue;
let today = todayL;
let year = today.slice(2, 4);
let month = today.slice(5, 7);
let day = today.slice(8, 10);
today = month + "/" + day + "/" + year;
curtasks[i].dateDue = today;
curtasks[i]["id"] = i;
taskRows.getElementById("task").textContent = curtasks[i].task;
taskRows.getElementById("dateCreated").textContent = curtasks[i].dateCreated;
taskRows.getElementById("dateDue").textContent = curtasks[i].dateDue;
taskRows.getElementById("links").setAttribute("data-string", curtasks[i].id);
taskRows.getElementById("id").textContent = curtasks[i].id;
taskBody.appendChild(taskRows);
curtasks[i].dateDue = todayL;
} else {
const taskRows = document.importNode(template.content, true);
let todayL = curtasks[i].dateDue;
let today = todayL;
let year = today.slice(2, 4);
let month = today.slice(5, 7);
let day = today.slice(8, 10);
today = month + "/" + day + "/" + year;
curtasks[i].dateDue = today;
curtasks[i]["id"] = i;
taskRows.getElementById("task").innerHTML = '' + curtasks[i].task;
taskRows.getElementById("dateCreated").innerHTML = '' + curtasks[i].dateCreated;
taskRows.getElementById("dateDue").innerHTML = '' + curtasks[i].dateDue;
taskRows.getElementById("links").setAttribute("data-string", curtasks[i].id);
taskRows.getElementById("id").textContent = curtasks[i].id;
taskBody.appendChild(taskRows);
curtasks[i].dateDue = todayL;
}
}
localStorage.setItem("taskArray", JSON.stringify(curtasks));
}
function completeTask(task) {
let curtasks = JSON.parse(localStorage.getItem("taskArray"));
let taskId1 = task.parentNode;
let taskId2 = parseInt(taskId1.getAttribute("data-string"));
if (curtasks[taskId2].completed == "yes") {
curtasks[taskId2].completed = "no";
} else {
curtasks[taskId2].completed = "yes";
}
localStorage.setItem("taskArray", JSON.stringify(curtasks));
displayData();
}
function addData() {
let curtasks = JSON.parse(localStorage.getItem("taskArray"));
let dismissBtn = document.getElementById("dismissBtn");
if (curtasks == null) {
curtasks = tasks;
}
let i = curtasks.length + 1;
let objTask = {};
objTask["task"] = document.getElementById("addTitle").value;
objTask["dateDue"] = document.getElementById("addDate").value;
let today = new Date();
let todayDate = (today.getMonth() + 1) + '/' + today.getDate() + '/' + today.getFullYear();
objTask["dateCreated"] = todayDate;
objTask["completed"] = "no";
objTask["id"] = i;
if (objTask["task"] == "" || objTask["dateDue"] == "Invalid Date") {
Swal.fire({
icon: 'error',
title: 'Invalid',
text: 'All fields must be entered!',
})
return;
} else {
curtasks.push(objTask);
localStorage.setItem("taskArray", JSON.stringify(curtasks));
tasks = JSON.parse(localStorage.getItem("taskArray"));
displayData(tasks);
window.location.reload();
}
formClear();
dismissBtn.click();
}
function deleteTask(task) {
let curtasks = JSON.parse(localStorage.getItem("taskArray"));
let taskId1 = task.parentNode;
let taskId2 = parseInt(taskId1.getAttribute("data-string"));
curtasks.splice(taskId2, 1);
localStorage.setItem("taskArray", JSON.stringify(curtasks));
displayData();
}
function prepareEdit(task) {
let curtasks = JSON.parse(localStorage.getItem("taskArray")) || [];
let dismissBtn = document.getElementById("dismiss2Btn");
let taskId1 = task.parentNode;
let taskId2 = parseInt(taskId1.getAttribute("data-string"));
currentElement = taskId2;
document.getElementById("editTitle").value = curtasks[taskId2].task;
document.getElementById("editDate").value = curtasks[taskId2].dateDue;
dismissBtn.click();
}
function editTask() {
let curtasks = JSON.parse(localStorage.getItem("taskArray")) || [];
taskId2 = currentElement;
curtasks[taskId2]["task"] = document.getElementById("editTitle").value;
curtasks[taskId2]["dateDue"] = document.getElementById("editDate").value;
localStorage.setItem("taskArray", JSON.stringify(curtasks));
dismissBtn.click();
displayData();
}
function displayAllData() {
displayData(tasks);
}
function resetData() {
localStorage.clear();
window.location.reload();
}
function formClear() {
let theForm = document.getElementById("modalForm");
theForm.reset();
}