Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
survey
Commits
d96fd4e9
Commit
d96fd4e9
authored
Jul 11, 2022
by
jang dong hyeok
Browse files
type, content접근해서 바꾸기
parent
73a1e1bc
Changes
8
Hide whitespace changes
Inline
Side-by-side
frontend/src/CreateSurveyForm/QCheckbox.tsx
View file @
d96fd4e9
...
...
@@ -22,7 +22,7 @@ export const QCheckbox = ({ element }: Props) => {
placeholder
=
{
element
.
title
}
onChange
=
{
questionListChange
}
></
input
>
<
TypeChange
tt
=
"checkbox"
/>
<
TypeChange
tt
=
"checkbox"
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/QDropdown.tsx
View file @
d96fd4e9
...
...
@@ -20,7 +20,7 @@ export const QDropdown = ({ element }: Props) => {
placeholder
=
{
element
.
title
}
onChange
=
{
questionListChange
}
></
input
>
<
TypeChange
tt
=
"dropdown"
/>
<
TypeChange
tt
=
"dropdown"
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/QEssay.tsx
View file @
d96fd4e9
...
...
@@ -23,7 +23,7 @@ export const QEssay = ({ element }: Props) => {
onChange
=
{
questionListChange
}
></
input
>
{
/* <TypeChange tt={"essay"} id={element._id} /> */
}
<
TypeChange
tt
=
{
"
essay
"
}
/>
<
TypeChange
tt
=
{
"
essay
"
}
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/QFile.tsx
View file @
d96fd4e9
...
...
@@ -21,7 +21,7 @@ export const QFile = ({ element }: Props) => {
placeholder
=
{
element
.
title
}
onChange
=
{
questionListChange
}
></
input
>
<
TypeChange
tt
=
"file"
/>
<
TypeChange
tt
=
"file"
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/QRadio.tsx
View file @
d96fd4e9
...
...
@@ -20,7 +20,7 @@ export const QRadio = ({ element }: Props) => {
placeholder
=
{
element
.
title
}
onChange
=
{
questionListChange
}
></
input
>
<
TypeChange
tt
=
"radio"
/>
<
TypeChange
tt
=
"radio"
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/QRating.tsx
View file @
d96fd4e9
...
...
@@ -22,7 +22,7 @@ export const QRating = ({ element }: Props) => {
placeholder
=
{
element
.
title
}
onChange
=
{
questionListChange
}
></
input
>
<
TypeChange
tt
=
"rating"
/>
<
TypeChange
tt
=
"rating"
id
=
{
element
.
_id
}
/>
</
div
>
<
div
className
=
"flex w-full justify-center"
>
<
input
...
...
frontend/src/CreateSurveyForm/question.context.tsx
View file @
d96fd4e9
...
...
@@ -5,9 +5,14 @@ import React, {
useContext
,
useState
,
}
from
"
react
"
;
import
{
BasicQuestionType
,
SurveyType
}
from
"
../types
"
;
import
{
BasicQuestionType
,
SurveyType
,
EssayType
,
RadioType
}
from
"
../types
"
;
import
{
questionApi
,
surveyApi
}
from
"
../apis
"
;
interface
questionTypeChangeProp
{
id
:
string
;
tt
:
string
;
}
interface
IQuestionContext
{
handleSurvey
:
(
e
:
React
.
ChangeEvent
<
HTMLInputElement
>
)
=>
void
;
handleSubmit
:
(
event
:
React
.
FormEvent
<
HTMLFormElement
>
)
=>
void
;
...
...
@@ -17,7 +22,7 @@ interface IQuestionContext {
editCompleteClick
:
(
e
:
React
.
MouseEvent
<
HTMLButtonElement
>
)
=>
void
;
currentId
:
string
;
addQuestion
:
(
e
:
React
.
MouseEvent
<
HTMLButtonElement
>
)
=>
Promise
<
void
>
;
questionTypeChange
:
(
e
:
React
.
ChangeEvent
<
HTMLSelectElement
>
)
=>
void
;
questionTypeChange
:
(
{
id
,
tt
}:
questionTypeChangeProp
)
=>
void
;
}
const
QuestionContext
=
createContext
<
IQuestionContext
>
({
...
...
@@ -68,6 +73,7 @@ export const QuestionProvider: FC<{ children: ReactNode }> = ({ children }) => {
// setLoading(false);
}
}
//질문 Title, Comment바꾸는 함수
function
questionListChange
(
e
:
React
.
ChangeEvent
<
HTMLInputElement
>
):
void
{
const
newList
:
BasicQuestionType
[]
=
[...
questionList
];
const
obj
:
any
=
newList
.
find
((
a
)
=>
a
.
_id
===
e
.
target
.
id
);
//고유 _id로 질문찾기
...
...
@@ -75,11 +81,15 @@ export const QuestionProvider: FC<{ children: ReactNode }> = ({ children }) => {
obj
[
targetKey
]
=
e
.
target
.
value
;
setQuestionList
(
newList
);
}
function
questionTypeChange
(
e
:
React
.
ChangeEvent
<
HTMLSelectElement
>
):
void
{
//질문 Type 바꾸는 함수
function
questionTypeChange
({
id
,
tt
}:
questionTypeChangeProp
):
void
{
const
newType
:
BasicQuestionType
[]
=
[...
questionList
];
const
objType
:
any
=
newType
.
find
((
t
)
=>
t
.
_id
===
e
.
target
.
id
);
const
targetType
:
string
=
e
.
target
.
name
;
objType
[
targetType
]
=
e
.
target
.
value
;
const
objType
:
any
=
newType
.
find
((
t
)
=>
t
.
_id
===
id
);
objType
.
type
=
tt
;
// TODO
if
((
tt
=
"
essay
"
))
{
objType
.
content
;
}
setQuestionList
(
newType
);
}
...
...
frontend/src/CreateSurveyForm/typeDD.tsx
View file @
d96fd4e9
...
...
@@ -2,10 +2,11 @@ import React, { ChangeEvent, useState } from "react";
import
{
useQuestion
}
from
"
./question.context
"
;
type
typeChangeProps
=
{
id
:
string
;
tt
:
string
;
};
export
function
TypeChange
({
tt
}:
typeChangeProps
)
{
export
function
TypeChange
({
tt
,
id
}:
typeChangeProps
)
{
const
{
questionTypeChange
}
=
useQuestion
();
const
typeDD
=
new
Map
([
...
...
@@ -18,10 +19,13 @@ export function TypeChange({ tt }: typeChangeProps) {
[
"
grid
"
,
"
그리드
"
],
[
"
date
"
,
"
날짜
"
],
]);
function
changeDD
(
e
:
React
.
ChangeEvent
<
HTMLSelectElement
>
)
{
const
tt
=
e
.
target
.
value
;
// questionTypeChange(e);
console
.
log
(
tt
);
console
.
log
(
e
.
target
.
value
);
console
.
log
(
id
);
questionTypeChange
({
id
,
tt
});
//if문으로 type별로 content 바뀌게 해보기
}
...
...
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