Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
students
Today KU
Commits
d03514d7
Commit
d03514d7
authored
Oct 30, 2021
by
Choi Ga Young
Browse files
subject, studyplan폼 작성중
parent
26b784d8
Changes
4
Hide whitespace changes
Inline
Side-by-side
client/src/components/Form/StudyPlanEditForm.js
0 → 100644
View file @
d03514d7
import
{
useState
,
useEffect
}
from
'
react
'
;
import
BtnGroup
from
"
../Buttons/BtnGroup
"
;
import
styles
from
"
./form.module.scss
"
;
const
StudyPlanEditForm
=
()
=>
{
const
[
studyplan
,
setStudyplan
]
=
useState
({
studyplanTitle
:
""
,
endDate
:
""
,
deadline
:
""
,
memo
:
""
})
const
[
disabled
,
setDisabled
]
=
useState
(
true
)
useEffect
(()
=>
{
let
isMounted
=
true
;
const
checkInfo
=
{
studyplanTitle
:
studyplan
.
studyplanTitle
,
endDate
:
studyplan
.
endDate
,
memo
:
studyplan
.
memo
}
if
(
studyplan
.
deadline
!==
"
on
"
)
{
checkInfo
.
endTime
=
studyplan
.
endTime
}
else
{
delete
checkInfo
.
endTime
}
if
(
isMounted
)
{
const
isStudyPlan
=
Object
.
values
(
checkInfo
).
every
((
el
)
=>
Boolean
(
el
));
isStudyPlan
?
setDisabled
(
false
)
:
setDisabled
(
true
);
}
return
()
=>
{
isMounted
=
false
;
}
},
[
studyplan
])
function
handleChange
(
e
)
{
const
{
name
,
value
}
=
e
.
target
if
(
name
===
"
deadline
"
)
{
studyplan
.
deadline
!==
"
on
"
?
setStudyplan
({
...
studyplan
,
[
name
]:
value
})
:
setStudyplan
({
...
studyplan
,
[
name
]:
"
off
"
})
}
else
{
setStudyplan
({
...
studyplan
,
[
name
]:
value
})
}
}
return
(
<>
<
div
className
=
"
pt-5
"
>
<
select
className
=
"
form-select mb-4
"
aria
-
label
=
"
Default select example
"
>
<
option
selected
>
관련
과목을
선택해주세요
.
<
/option
>
<
option
value
=
"
1
"
>
운영체제
<
/option
>
<
option
value
=
"
2
"
>
네트워크
프로그래밍
및
실습
<
/option
>
<
option
value
=
"
3
"
>
수학적
모델링
<
/option
>
<
/select
>
<
input
type
=
"
text
"
name
=
"
studyplanTitle
"
className
=
"
form-control border-top-0 border-end-0 border-start-0 mb-5
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
placeholder
=
"
제목
"
onChange
=
{
handleChange
}
/
>
<
div
className
=
"
d-flex mb-3
"
>
<
label
className
=
"
col col-form-label m-2
"
>
마감일
<
/label
>
<
div
className
=
{
studyplan
.
deadline
===
"
on
"
?
"
col-7
"
:
"
col-5
"
}
>
<
input
className
=
{
`form-control shadow-none
${
styles
.
dateInput
}
`
}
type
=
"
date
"
name
=
"
endDate
"
aria
-
label
=
"
endDate
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
div
className
=
{
"
col-5
"
+
(
studyplan
.
deadline
===
"
on
"
?
"
d-none
"
:
"
d-block
"
)}
>
<
input
className
=
{
`form-control shadow-none
${
styles
.
dateInput
}
`
}
type
=
"
time
"
name
=
"
endTime
"
aria
-
label
=
"
endTime
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
/div
>
<
div
className
=
"
d-flex justify-content-end form-check mb-4
"
>
<
input
className
=
{
`form-check-input shadow-none
${
styles
.
checkBox
}
me-2`
}
type
=
"
checkbox
"
id
=
"
deadline
"
name
=
"
deadline
"
onChange
=
{
handleChange
}
/
>
<
label
className
=
"
form-check-label
"
htmlFor
=
"
deadline
"
>
시간
<
/label
>
<
/div
>
<
div
className
=
"
d-flex justify-content-between mb-5
"
>
<
i
className
=
"
col bi bi-journal-text fs-3
"
><
/i
>
<
div
className
=
"
col-10
"
>
<
textarea
className
=
{
`form-control shadow-none
${
styles
.
textArea
}
`
}
name
=
"
memo
"
rows
=
"
5
"
onChange
=
{
handleChange
}
><
/textarea
>
<
/div
>
<
/div
>
<
BtnGroup
disabled
=
{
disabled
}
/
>
<
/div
>
<
/
>
)
}
export
default
StudyPlanEditForm
\ No newline at end of file
client/src/components/Form/SubjectForm.js
0 → 100644
View file @
d03514d7
import
{
useState
,
useEffect
}
from
'
react
'
;
import
BtnGroup
from
"
../Buttons/BtnGroup
"
;
import
styles
from
"
./form.module.scss
"
;
const
SubjectForm
=
()
=>
{
const
[
subject
,
setSubject
]
=
useState
({
lectureName
:
""
,
prof
:
""
,
classRoom
:
""
})
const
[
disabled
,
setDisabled
]
=
useState
(
true
)
useEffect
(()
=>
{
let
isMounted
=
true
;
const
checkInfo
=
{
lectureName
:
subject
.
lectureName
,
prof
:
subject
.
prof
,
classRoom
:
subject
.
classRoom
}
if
(
isMounted
)
{
const
isSubject
=
Object
.
values
(
checkInfo
).
every
((
el
)
=>
Boolean
(
el
));
isSubject
?
setDisabled
(
false
)
:
setDisabled
(
true
);
}
return
()
=>
{
isMounted
=
false
;
}
},
[
subject
])
function
handleChange
(
e
)
{
const
{
name
,
value
}
=
e
.
target
setSubject
({
...
subject
,
[
name
]:
value
})
}
return
(
<>
<
div
className
=
"
position-absolute top-50 start-50 translate-middle
"
style
=
{{
width
:
"
80%
"
}}
>
<
div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label fs-4
"
style
=
{{
width
:
"
100px
"
}}
>
강의명
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
name
=
"
lectureName
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label fs-4
"
style
=
{{
width
:
"
100px
"
}}
>
교수명
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
name
=
"
prof
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label fs-4
"
style
=
{{
width
:
"
100px
"
}}
>
장소
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
name
=
"
classRoom
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
/div
>
<
BtnGroup
disabled
=
{
disabled
}
/
>
<
/div
>
<
/
>
)
}
export
default
SubjectForm
;
\ No newline at end of file
client/src/pages/StudyPlanEditPage.js
View file @
d03514d7
import
{
useState
}
from
'
react
'
;
import
styles
from
"
../components/Form/form.module.scss
"
;
import
StudyPlanEditForm
from
"
../components/Form/StudyPlanEditForm.js
"
const
StudyPlanEditPage
=
()
=>
{
const
[
studyplan
,
setStudyplan
]
=
useState
({
title
:
""
,
endDate
:
""
,
endTime
:
""
,
contents
:
""
,
deadline
:
""
,
})
function
handleChange
(
e
)
{
const
{
name
,
value
}
=
e
.
target
if
(
name
===
"
deadline
"
)
{
studyplan
.
deadline
!==
"
on
"
?
setStudyplan
({
...
studyplan
,
[
name
]:
value
})
:
setStudyplan
({
...
studyplan
,
[
name
]:
"
off
"
})
}
else
{
setStudyplan
({
...
studyplan
,
[
name
]:
value
})
}
}
return
(
<>
<
div
className
=
"
pt-5
"
>
<
select
className
=
"
form-select mb-4
"
aria
-
label
=
"
Default select example
"
>
<
option
selected
>
관련
과목을
선택해주세요
.
<
/option
>
<
option
value
=
"
1
"
>
운영체제
<
/option
>
<
option
value
=
"
2
"
>
네트워크
프로그래밍
및
실습
<
/option
>
<
option
value
=
"
3
"
>
수학적
모델링
<
/option
>
<
/select
>
<
input
type
=
"
text
"
name
=
"
studyplanTitle
"
className
=
"
form-control border-top-0 border-end-0 border-start-0 mb-5
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
placeholder
=
"
제목
"
/>
<
div
className
=
"
d-flex mb-3
"
>
<
label
className
=
"
form-label m-2
"
>
마감일
<
/label
>
<
div
className
=
{
studyplan
.
deadline
===
"
on
"
?
"
col-7
"
:
"
col-5
"
}
>
<
input
className
=
{
`form-control shadow-none
${
styles
.
dateInput
}
`
}
type
=
"
date
"
name
=
"
endDate
"
aria
-
label
=
"
endDate
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
div
className
=
{
"
col-5
"
+
(
studyplan
.
deadline
===
"
on
"
?
"
d-none
"
:
"
d-block
"
)}
>
<
input
className
=
{
`form-control shadow-none
${
styles
.
dateInput
}
`
}
type
=
"
time
"
name
=
"
endTime
"
aria
-
label
=
"
endTime
"
onChange
=
{
handleChange
}
/
>
<
/div
>
<
/div
>
<
div
className
=
"
d-flex justify-content-end form-check mb-4
"
>
<
input
className
=
{
`form-check-input shadow-none
${
styles
.
checkBox
}
`
}
type
=
"
checkbox
"
id
=
"
deadline
"
name
=
"
deadline
"
onChange
=
{
handleChange
}
/
>
<
label
className
=
"
form-check-label
"
htmlFor
=
"
deadline
"
>
시간
<
/label
>
<
/div
>
<
/div
>
<
/
>
<
StudyPlanEditForm
/>
)
}
...
...
client/src/pages/SubjectEditPage.js
View file @
d03514d7
import
SubjectForm
from
"
../components/Form/SubjectForm.js
"
const
SubjectEditPage
=
()
=>
{
return
(
<>
<
div
className
=
"
position-absolute top-50 start-50 translate-middle
"
style
=
{{
width
:
"
80%
"
}}
>
<
div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label
"
style
=
{{
width
:
"
100px
"
}}
>
강의명
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
/
>
<
/div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label
"
style
=
{{
width
:
"
100px
"
}}
>
교수명
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
/
>
<
/div
>
<
div
className
=
"
mb-5 d-flex flex-row
"
>
<
label
className
=
"
form-label
"
style
=
{{
width
:
"
100px
"
}}
>
장소
<
/label
>
<
input
className
=
"
form-control border-top-0 border-end-0 border-start-0
"
style
=
{{
boxShadow
:
"
none
"
,
borderRadius
:
"
0
"
}}
/
>
<
/div
>
<
/div
>
<
div
className
=
""
>
<
button
className
=
"
btn btn-primary
"
type
=
"
button
"
>
취소
<
/button
>
<
button
className
=
"
btn btn-primary
"
type
=
"
button
"
>
확인
<
/button
>
<
/div
>
<
/div
>
<
/
>
<
SubjectForm
/>
)
}
export
default
SubjectEditPage
;
\ No newline at end of file
export
default
SubjectEditPage
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment