-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubmit.js
More file actions
107 lines (106 loc) · 2.78 KB
/
submit.js
File metadata and controls
107 lines (106 loc) · 2.78 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
import { getTodo, addTodo, deleteTodo, editTodo, changeOrder } from "./api.js";
import {
alert,
form,
todo,
submitBtn,
container,
list,
clearBtn,
orderchangeBtn,
spinner,
select,
state,
} from "./store.js";
import {
classListController,
date,
createTodo,
displayAlert,
setBackToDefault,
} from "./main.js";
export async function submitlist(e) {
e.preventDefault();
let title = todo.value;
const lists = await getTodo();
// 중복값은 추가 할 수 없게 하기
for (const list of lists) {
if (title === list.title) {
displayAlert("this value already exists", "danger");
todo.value = "";
return;
}
}
// Select하고 Submit할 때, 할 일을 완료한 항목과 완료하지 않은 항목 분류해서 출력
let doneYet = select.value;
// Done을 select 하고 Submit
if (!title && doneYet === "done") {
list.innerHTML = "";
for (const list of lists) {
if (list.done === true) {
date(list.updatedAt);
let check = "checked";
createTodo(list.title, list.id, state.update, check);
}
}
return;
}
// Yet을 select 하고 Submit
if (!title && doneYet === "yet") {
list.innerHTML = "";
for (const list of lists) {
if (list.done === false) {
date(list.updatedAt);
let check = null;
createTodo(list.title, list.id, state.update, check);
}
}
return;
}
// All을 select하고 Submit
if (!title && doneYet === "all") {
list.innerHTML = "";
for (const list of lists) {
date(list.updatedAt);
if (list.done === true) {
let check = "checked";
createTodo(list.title, list.id, state.update, check);
continue;
}
createTodo(list.title, list.id, state.update);
}
return;
}
// input값을 입력하고 Submit, addlist
if (title && doneYet === "all" && !state.editFlag) {
classListController(spinner, "add");
let order = lists.length;
let todos = await addTodo(title, order);
const { id, updatedAt } = todos;
date(updatedAt);
state.idArray.push(id);
createTodo(title, id, state.update);
displayAlert("value added to the list", "success");
classListController(container, "add");
classListController(spinner, "remove");
setBackToDefault();
return;
}
// edit 하고 Submit
if (title && doneYet === "all" && state.editFlag) {
classListController(spinner, "add");
state.editlist.innerHTML = title;
let lists = await editTodo(
state.editID,
title,
state.editDone,
state.editOrder
);
const { updatedAt } = lists;
date(updatedAt);
state.editupdate.innerHTML = state.update;
displayAlert("list value changed", "success");
classListController(spinner, "remove");
setBackToDefault();
}
}