+
{
- Object.entries(cards).map(([subject, tasks]) => {
- return ;
- })
+ Object.entries(cards).map(([subject, tasks]) =>
+ // Object.entries(cards) : ㅏkey에 done, value에 해당값들. 즉 [todo,[{},{}]]로 만들어준다.
+ , // map(function) : function를 적용시켜서 변환
+ //remove={remove} : 자식한테 props로 전달해준다.
+ )
}
-
ADD
+
ADD
);
}
diff --git a/static/src/page/Enrollment.jsx b/static/src/page/Enrollment.jsx
index e30a456..2788942 100644
--- a/static/src/page/Enrollment.jsx
+++ b/static/src/page/Enrollment.jsx
@@ -6,19 +6,35 @@ import Input from "../component/atom/Input";
function Enrollment({history}) {
const [title, setTitle] = useState('');
+ const [assignee, setAssignee] = useState('');
+ const [priority, setPriority]=useState(2);
const onChange = (event) => {
event.stopPropagation();
setTitle(event.target.value);
};
+ const onChangeAssignee = (event) => {
+ event.stopPropagation();
+ setAssignee(event.target.value);
+ };
+
+ const onChangePriority = (event) => {
+ event.stopPropagation();
+ setPriority(event.target.value);
+ };
+
+ function onDisplayPriority(){
+ document.getElementById("priority").selectedIndex="1";
+ }
+
const onPreviousClick = (event) => {
event.stopPropagation();
history.goBack();
};
const add = async () => {
- const isSuccesses = await createCard(title);
+ const isSuccesses = await createCard(title, assignee, priority);
if (isSuccesses) {
history.goBack();
} else {
@@ -41,13 +57,29 @@ function Enrollment({history}) {
const onClearClick = (event) => {
event.stopPropagation();
setTitle('');
+ setAssignee('');
+ setPriority(2);
+ onDisplayPriority();
+
};
+
return (
+
+
+
+
+
+
+
diff --git a/static/src/service/createCard.js b/static/src/service/createCard.js
index 0cef56a..26447e2 100644
--- a/static/src/service/createCard.js
+++ b/static/src/service/createCard.js
@@ -1,4 +1,4 @@
-async function createCard(title) {
+async function createCard(title, assignee, priority) {
try {
const response = await fetch('/todo/cards', {
method: 'POST',
@@ -7,7 +7,7 @@ async function createCard(title) {
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
- body: JSON.stringify({ title }),
+ body: JSON.stringify({ title, assignee, priority }),
});
return response.status === 201;
@@ -16,4 +16,4 @@ async function createCard(title) {
}
}
-export default createCard;
+export default createCard;
\ No newline at end of file
diff --git a/static/src/service/getCards.js b/static/src/service/getCards.js
index c022e61..557df65 100644
--- a/static/src/service/getCards.js
+++ b/static/src/service/getCards.js
@@ -10,9 +10,12 @@ async function getCards() {
});
const cards = await response.json();
+ //console.log(cards); //todo done 상관없이 출력
const todo = cards.filter((card) => card.status === 'TODO');
const done = cards.filter((card) => card.status === 'DONE');
- return {
+ //console.log(todo,done);
+
+ return { //객체로 반환, ㅅtodo:[{},{}]
todo, done,
};
} catch (e) {
diff --git a/static/src/service/removeCard.js b/static/src/service/removeCard.js
new file mode 100644
index 0000000..0646a2a
--- /dev/null
+++ b/static/src/service/removeCard.js
@@ -0,0 +1,19 @@
+async function removeCard(id) {
+ try {
+ const response = await fetch('/todo/cards/${id}', {
+ method: 'DELETE',
+ credentials: 'include',
+ mode: 'cors',
+ headers: {
+ 'Content-Type': 'application/json; charset=utf-8',
+ },
+ body: JSON.stringify({ id }),
+ });
+
+ return response.status === 201;
+ } catch (e) {
+ return false;
+ }
+}
+
+export default removeCard;