-
Notifications
You must be signed in to change notification settings - Fork 0
/
tasksLogic.js
102 lines (86 loc) · 2.63 KB
/
tasksLogic.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
let tasks = [
]
tasks = JSON.parse(localStorage.getItem("tasks"))
if (!tasks) tasks = [];
function taskForm(){
document.getElementById("todoList").innerHTML = ""
let taskIndex = 0
for (task of tasks){
let taskFormat =
`
<div class="todo">
<div class="textDate">
<h3 id="${task.completed}">${task.title}</h3>
<p id="${task.completed}">${task.date}</p>
</div>
<div class="icons">
<div id="editTodo" onclick="editTask(${taskIndex})" class="edit"><img src="/icons/edit.svg" alt=""></div>
<div id="removeBtn" onclick="deleteTask(${taskIndex})" class="delete"><img src="/icons/trash.svg" alt=""></div>
<div ondblclick="undoTask(${taskIndex})" id="doneTask" onclick="doneTask(${taskIndex})" class="done"><img src="/icons/trash-true.svg" alt=""></div>
</div>
</div>
`
document.getElementById("todoList").innerHTML += taskFormat
taskIndex++
}
}
taskForm()
function addTask(){
let inputValue = document.getElementById("todoInput").value
let newTask = {
title: inputValue,
date: new Date().toLocaleString(),
completed: false,
}
if (inputValue.length == 0){
Swal.fire({
text: 'empty task?.. seriously? FUCK OFF!',
imageUrl: 'https://i.pinimg.com/originals/d6/3e/dd/d63edd9af879f866baea5e3c5b506959.jpg',
imageWidth: 400,
imageHeight: 200,
imageAlt: 'Custom image',
})
} else {
tasks.push(newTask)
}
document.getElementById("todoInput").value = ""
localSt()
taskForm()
}
function editTask(taskIndex){
if (tasks[taskIndex].completed == true){
alert("you can't")
} else {
let newTaskTitle = prompt("edit")
if (newTaskTitle != null) {
tasks[taskIndex].title = newTaskTitle
tasks[taskIndex].date = `Edited at ${new Date().toLocaleString()}`
}
}
localSt()
taskForm()
}
function deleteTask(taskIndex){
tasks.splice(taskIndex, 1)
localSt()
taskForm()
}
function doneTask(taskIndex){
Swal.fire(
'Good job!',
'',
'success'
)
tasks[taskIndex].completed = true
localSt()
taskForm()
}
function undoTask(taskIndex){
tasks[taskIndex].completed = false
localSt()
taskForm()
}
function localSt(){
let tasksString = JSON.stringify(tasks)
localStorage.setItem("tasks", tasksString)
}