-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
123 lines (106 loc) · 3.25 KB
/
Copy pathscript.js
File metadata and controls
123 lines (106 loc) · 3.25 KB
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
window.onload = function () {
let btnAdd = document.getElementById('btnAdd')
let btnClear = document.getElementById('btnClear')
let btnSort = document.getElementById('btnSort')
let inpNewTask = document.getElementById('inpNewTask')
let taskList = document.getElementById("taskList")
let tasks = []
function refreshList () {
taskList.innerHTML = ""
for (let i in tasks) {
let task = tasks[i]
let li = document.createElement('li')
li.className = "list-group-item"
let div = document.createElement('div')
div.className = task.done ? "row done" : "row"
let span = document.createElement('span')
span.innerText = task.name
span.className = "col py-1"
let up=document.createElement('i')
let btnup=document.createElement('button')
btnup.className="btn btn-secondary col-2 mx-2"
let btndown=document.createElement('button')
btndown.className="btn btn-secondary col-2 mx-2"
up.className="fas fa-angle-up"
let down=document.createElement('i')
down.className="fas fa-angle-down"
let liBtnDone = document.createElement('button')
liBtnDone.innerText = task.done ? "❌" : "✔️"
liBtnDone.className = "btn btn-info col-2 mx-2"
let liBtnDelete = document.createElement('button')
liBtnDelete.innerText = "DELETE"
liBtnDelete.className = "btn btn-danger col-2 mx-2"
liBtnDone.onclick = function () {
task.done = !task.done
refreshList()
}
liBtnDelete.onclick = function () {
tasks.splice(i, 1)
refreshList()
}
btnup.onclick=function(){
let t1=tasks.splice(i,1,tasks[i-1]);
tasks.splice(i-1,1,t1[0])
refreshList()
}
btndown.onclick=function(){
let q=tasks[parseInt(i)+1]
console.log(tasks)
console.log(q)
let t2=tasks.splice(i,1,q);
console.log(q)
tasks.splice(parseInt(i)+1,1,t2[0])
console.log(tasks)
refreshList()
}
div.appendChild(span)
btnup.appendChild(up)
btndown.appendChild(down)
if(i!=0)
div.appendChild(btnup)
if(i!=tasks.length-1)
div.appendChild(btndown)
div.appendChild(liBtnDone)
div.appendChild(liBtnDelete)
li.appendChild(div)
taskList.appendChild(li)
}
}
refreshList()
function sortList () {
tasks.sort(function (a, b) {
return a.done - b.done
})
refreshList()
}
function clearList() {
tasks = tasks.filter(function (t) {
return !t.done
})
refreshList()
}
function addTask() {
console.log(tasks)
let taskName = inpNewTask.value
tasks.push({
name: taskName,
done: false
})
inpNewTask.value = ""
refreshList()
}
btnAdd.onclick = function () {
addTask()
}
inpNewTask.onkeyup = function (ev) {
if (ev.keyCode == 13) {
addTask()
}
}
btnSort.onclick = function () {
sortList()
}
btnClear.onclick = function () {
clearList()
}
}