@@ -11,14 +11,14 @@ class Opcao {
11
11
}
12
12
13
13
const arrayOpcoes = [ 'Altíssima' , 'Alta' , 'Normal' , 'Baixa' ] ;
14
- const listaAtividades = [ ] ;
14
+ let listaAtividades = baixarLista ( ) ;
15
15
const formulario = document . createElement ( 'form' ) ;
16
16
const inputAtividade = document . createElement ( 'input' ) ;
17
17
const inputDataAtividade = document . createElement ( 'input' ) ;
18
18
const selectTagsPrioridade = document . createElement ( 'select' ) ;
19
19
const botao = document . createElement ( 'button' ) ;
20
20
21
- function buildAplication ( ) {
21
+ function construirFormularioNovo ( ) {
22
22
const divNovaAtividade = document . querySelector ( '.nova-atividade' ) ;
23
23
selectTagsPrioridade . required = true ;
24
24
inputAtividade . id = 'input-atividade' ;
@@ -37,6 +37,38 @@ function buildAplication(){
37
37
divNovaAtividade . appendChild ( formulario ) ;
38
38
}
39
39
40
+ function construirFormularioEditar ( atividade , formularioAtualizar , inputAtividadeAtualizar , inputDataAtividadeAtualizar , selectTagsPrioridadeAtualizar , botaoAtualizar , botaoCancelar , boxEditarAtividade ) {
41
+ selectTagsPrioridadeAtualizar . required = true ;
42
+ inputAtividadeAtualizar . id = 'input-atividade' ;
43
+ inputAtividadeAtualizar . type = 'text' ;
44
+ inputAtividadeAtualizar . placeholder = 'Informe a Atividade' ;
45
+ inputAtividadeAtualizar . required = true ;
46
+ inputDataAtividadeAtualizar . id = 'input-data-atividade' ;
47
+ inputDataAtividadeAtualizar . type = 'date' ;
48
+ inputDataAtividadeAtualizar . required = true ;
49
+ botaoAtualizar . textContent = 'Atualizar' ;
50
+ botaoCancelar . textContent = 'Cancelar' ;
51
+ botaoAtualizar . type = 'submit' ;
52
+ botaoCancelar . type = 'submit' ;
53
+ formularioAtualizar . appendChild ( inputAtividadeAtualizar ) ;
54
+ formularioAtualizar . appendChild ( inputDataAtividadeAtualizar ) ;
55
+ formularioAtualizar . appendChild ( selectTagsPrioridadeAtualizar ) ;
56
+ formularioAtualizar . appendChild ( botaoAtualizar ) ;
57
+ formularioAtualizar . appendChild ( botaoCancelar ) ;
58
+ boxEditarAtividade . appendChild ( formularioAtualizar ) ;
59
+
60
+ inputAtividadeAtualizar . value = atividade . atividade ;
61
+ inputDataAtividadeAtualizar . setAttribute ( "value" , atividade . dataAtividade ) ;
62
+ selectTagsPrioridadeAtualizar . innerHTML = '' ;
63
+ arrayOpcoes . forEach ( ( opcao ) => {
64
+ const optionTagPropriedade = document . createElement ( 'option' ) ;
65
+ optionTagPropriedade . value = opcao ;
66
+ optionTagPropriedade . textContent = opcao ;
67
+ selectTagsPrioridadeAtualizar . appendChild ( optionTagPropriedade ) ;
68
+ } ) ;
69
+ selectTagsPrioridadeAtualizar . value = atividade . tagPrioridade
70
+ }
71
+
40
72
function getOpcoes ( ) {
41
73
arrayOpcoes . map ( ( opcao , index ) => {
42
74
const optionTagPropriedade = document . createElement ( 'option' ) ;
@@ -61,23 +93,35 @@ function adicionarAtividade(){
61
93
62
94
63
95
function main ( ) {
64
- buildAplication ( )
96
+ atualizar ( ) ;
97
+ construirFormularioNovo ( ) ;
65
98
getOpcoes ( ) ;
66
99
67
100
click ( botao , ( ) => {
68
- const novaOpcao = adicionarAtividade ( )
101
+ const novaOpcao = adicionarAtividade ( ) ;
69
102
if ( ! novaOpcao ) {
70
103
return
71
104
}
72
105
listaAtividades . push ( novaOpcao ) ;
73
- refresh ( )
106
+ salvarLista ( ) ;
107
+ atualizar ( ) ;
74
108
inputAtividade . value = "" ;
75
109
inputDataAtividade . value = "" ;
76
110
selectTagsPrioridade . value = arrayOpcoes [ 0 ] ;
77
111
} ) ;
78
112
}
79
113
80
- function refresh ( ) {
114
+ function salvarLista ( ) {
115
+ let listaString = JSON . stringify ( listaAtividades ) ;
116
+ localStorage . setItem ( 'lista' , listaString ) ;
117
+ }
118
+
119
+ function baixarLista ( ) {
120
+ let listaString = localStorage . getItem ( 'lista' ) ;
121
+ return JSON . parse ( listaString ) || [ ] ;
122
+ }
123
+
124
+ function atualizar ( ) {
81
125
let divListaDeAtividades = document . querySelector ( '.lista-de-atividades' ) ;
82
126
limparListaDeAtividades ( divListaDeAtividades ) ;
83
127
@@ -117,42 +161,14 @@ function editarAtividade(ele){
117
161
boxNovaAtividade . classList . add ( 'none' ) ;
118
162
boxListaAtividade . classList . add ( 'none' ) ;
119
163
120
- selectTagsPrioridadeAtualizar . required = true ;
121
- inputAtividadeAtualizar . id = 'input-atividade' ;
122
- inputAtividadeAtualizar . type = 'text' ;
123
- inputAtividadeAtualizar . placeholder = 'Informe a Atividade' ;
124
- inputAtividadeAtualizar . required = true ;
125
- inputDataAtividadeAtualizar . id = 'input-data-atividade' ;
126
- inputDataAtividadeAtualizar . type = 'date' ;
127
- inputDataAtividadeAtualizar . required = true ;
128
- botaoAtualizar . textContent = 'Atualizar' ;
129
- botaoCancelar . textContent = 'Cancelar' ;
130
- botaoAtualizar . type = 'submit' ;
131
- botaoCancelar . type = 'submit' ;
132
- formularioAtualizar . appendChild ( inputAtividadeAtualizar ) ;
133
- formularioAtualizar . appendChild ( inputDataAtividadeAtualizar ) ;
134
- formularioAtualizar . appendChild ( selectTagsPrioridadeAtualizar ) ;
135
- formularioAtualizar . appendChild ( botaoAtualizar ) ;
136
- formularioAtualizar . appendChild ( botaoCancelar ) ;
137
- boxEditarAtividade . appendChild ( formularioAtualizar ) ;
138
-
139
- inputAtividadeAtualizar . value = atividade . atividade ;
140
- inputDataAtividadeAtualizar . setAttribute ( "value" , atividade . dataAtividade ) ;
141
- selectTagsPrioridadeAtualizar . innerHTML = '' ;
142
- arrayOpcoes . forEach ( ( opcao ) => {
143
- const optionTagPropriedade = document . createElement ( 'option' ) ;
144
- optionTagPropriedade . value = opcao ;
145
- optionTagPropriedade . textContent = opcao ;
146
- selectTagsPrioridadeAtualizar . appendChild ( optionTagPropriedade ) ;
147
- } ) ;
148
- selectTagsPrioridadeAtualizar . value = atividade . tagPrioridade
164
+ construirFormularioEditar ( atividade , formularioAtualizar , inputAtividadeAtualizar , inputDataAtividadeAtualizar , selectTagsPrioridadeAtualizar , botaoAtualizar , botaoCancelar , boxEditarAtividade ) ;
149
165
150
166
click ( botaoCancelar , ( ) => {
151
167
boxEditarAtividade . classList . add ( 'none' ) ;
152
168
boxNovaAtividade . classList . remove ( 'none' ) ;
153
169
boxListaAtividade . classList . remove ( 'none' ) ;
154
170
formularioAtualizar . remove ( ) ;
155
- refresh ( ) ;
171
+ atualizar ( ) ;
156
172
} )
157
173
158
174
click ( botaoAtualizar , ( ) => {
@@ -167,25 +183,28 @@ function editarAtividade(ele){
167
183
return ;
168
184
}
169
185
170
- console . log ( ele . value )
186
+
171
187
listaAtividades [ ele . value ] . atividade = novaAtividade ;
172
188
listaAtividades [ ele . value ] . dataAtividade = novaData ;
173
189
listaAtividades [ ele . value ] . tagPrioridade = novaOpcao ;
174
190
191
+ salvarLista ( ) ;
192
+
175
193
boxEditarAtividade . classList . add ( 'none' ) ;
176
194
boxNovaAtividade . classList . remove ( 'none' ) ;
177
195
boxListaAtividade . classList . remove ( 'none' ) ;
178
196
179
197
formularioAtualizar . remove ( ) ;
180
- refresh ( ) ;
198
+ atualizar ( ) ;
181
199
} )
182
200
} )
183
201
}
184
202
185
203
function removeAtividade ( ele ) {
186
204
click ( ele , ( ) => {
187
205
listaAtividades . splice ( ele . value , 1 )
188
- refresh ( ) ;
206
+ salvarLista ( ) ;
207
+ atualizar ( ) ;
189
208
} )
190
209
}
191
210
@@ -198,7 +217,8 @@ function finalizarAtividade(ele, li){
198
217
listaAtividades [ ele . value ] . finalizar = false ;
199
218
li . classList . remove ( "done" ) ;
200
219
}
201
- refresh ( ) ;
220
+ salvarLista ( ) ;
221
+ atualizar ( ) ;
202
222
} ) ;
203
223
}
204
224
0 commit comments