-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
103 lines (88 loc) · 3.41 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
const tasks = [
{title: "Comprar comida para o gato", type: "Urgente"},
{title: "Consertar Computador", type: "Importante"},
{title: "Beber água", type: "Normal"},
{title: "Enviar relatório trimestral", type: "Importante"},
{title: "Fazer exercícios físicos", type: "Normal"},
{title: "Agendar consulta médica", type: "Urgente"},
{title: "Ler pelo menos um capítulo de um livro", type: "Normal"},
{title: "Limpar a despensa", type: "Importante"},
{title: "Pagar a conta de energia", type: "Urgente"},
{title: "Assistir a um documentário interessante", type: "Normal"},
];
const btnAddTask = document.querySelector('.form__button--add-task');
const searchTask = document.querySelector('.header__input--search')
const itemTask = document.getElementsByClassName('task__item');
const taskPriority = document.querySelector('#input_priority');
const section = document.querySelector('.tasks__container');
const taskTitle = document.querySelector('#input_title');
btnAddTask.addEventListener('click', addNewTask)
searchTask.addEventListener('input', findItemTask)
renderElements(tasks)
function renderElements(lista){
const listContainer = document.querySelector('ul');
listContainer.innerHTML = '';
for(let i = 0; i < lista.length; i++){
let elements = createTaskItem(lista[i]);
listContainer.appendChild(elements);
};
section.appendChild(listContainer);
};
function createTaskItem(taskItem){
const buttonRemove = document.createElement('button');
const division = document.createElement('div');
const listItem = document.createElement('li');
const paragaph = document.createElement('p')
const span = document.createElement('span');
const taskItemType = taskItem.type.toLowerCase();
span.classList.add('task-type');
listItem.classList.add('task__item');
division.classList.add('task-info__container');
buttonRemove.classList.add('task__button--remove-task');
paragaph.innerText = taskItem.title;
if(taskItemType == 'urgente'){
span.classList.add('span-urgent');
} else if(taskItemType == 'importante') {
span.classList.add('span-important');
} else{
span.classList.add('span-normal');
};
listItem.append(division, buttonRemove);
division.append(span, paragaph);
buttonRemove.addEventListener('click', () => {
let taskIndex = tasks.indexOf(taskItem);
if(taskIndex !== -1) {
tasks.splice(taskIndex, 1);
renderElements(tasks);
}
})
return listItem;
};
function addNewTask(e){
e.preventDefault();
let taskTitleValue = taskTitle.value;
let taskPriorityValue = taskPriority.value;
validationInputValue(taskTitleValue, taskPriorityValue)
taskTitle.value = '';
taskPriority.value = '';
};
function validationInputValue(title, priority){
if(!title || !priority){
alert('Error: necessaráio preencher todos os campos!');
}else {
tasks.push({title: title, type: priority});
alert('Tarefa Adcionada com sucesso!');
renderElements(tasks);
};
};
function findItemTask(){
let searchValue = searchTask.value.toLowerCase()
for(let i = 0; i < itemTask.length; i++){
let taskItem = itemTask[i].innerHTML.toLowerCase()
if(!taskItem.includes(searchValue)){
itemTask[i].style.display = 'none'
}else{
itemTask[i].style.display = 'flex'
}
}
}