QRating.tsx 3.19 KB
Newer Older
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
1
2
import React from "react";
import { RatingType } from "./CreateSurveyFormPage";
Jiwon Yoon's avatar
Jiwon Yoon committed
3
import { useQuestion } from "./question.context";
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
4
5
6
7
8
9

type Props = {
  element: RatingType;
  //   deleteValue: (e: React.MouseEvent<HTMLButtonElement>) => void;
};

Jiwon Yoon's avatar
Jiwon Yoon committed
10
11
12
export const QRating = ({ element }: Props) => {
  const { questionListChange } = useQuestion();

Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
13
14
15
16
17
18
  return (
    <div className="flex flex-col container w-4/5 h-auto border-2 border-themeColor items-center m-3 py-2">
      <div className="flex h-16 w-full place-content-between items-center">
        <input
          type="text"
          name="title"
Jiwon Yoon's avatar
Jiwon Yoon committed
19
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
20
21
          className="text-xl font-bold ml-6 border-b-2 w-1/2"
          placeholder={element.title}
Jiwon Yoon's avatar
Jiwon Yoon committed
22
          onChange={questionListChange}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
23
24
        ></input>
        <select
Jiwon Yoon's avatar
Jiwon Yoon committed
25
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
          className="w-36 bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-themeColor w-full mr-3 p-2.5"
        >
          <option>질문종류</option>
          <option value="essay">주관식</option>
          <option value="radio">객관식</option>
          <option value="dropdown">드롭다운(객관식)</option>
          <option value="checkbox">체크박스(객관식)</option>
          <option value="file">파일업로드</option>
          <option value="rating" selected>
            선형
          </option>
          <option value="grid">그리드</option>
          <option value="date">날짜</option>
        </select>
      </div>
      <div className="flex w-full justify-center">
        <input
          type="text"
          name="comment"
Jiwon Yoon's avatar
Jiwon Yoon committed
45
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
46
47
          className="border w-11/12"
          placeholder="질문에 대한 설명을 입력해주세요"
Jiwon Yoon's avatar
Jiwon Yoon committed
48
          onChange={questionListChange}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
49
50
51
52
53
        ></input>
      </div>
      <div className="flex place-content-between items-center p-5">
        <input
          name="minRateDescription"
Jiwon Yoon's avatar
Jiwon Yoon committed
54
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
55
56
57
58
          className="border-b-2 text-center"
          size={10}
          placeholder={element.content.minRateDescription}
        ></input>
Lee SeoYeon's avatar
0708    
Lee SeoYeon committed
59
        {element.content.choices.map((e) => (
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
60
61
          <input
            name="text"
Jiwon Yoon's avatar
Jiwon Yoon committed
62
            id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
63
64
65
66
67
68
69
70
            type="text"
            className="border border-black rounded-full py-1 m-2 text-center"
            size={1}
            placeholder={e.text}
          ></input>
        ))}
        <input
          name="maxRateDescription"
Jiwon Yoon's avatar
Jiwon Yoon committed
71
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
72
73
74
75
76
77
78
79
80
          className="border-b-2 text-center"
          size={10}
          placeholder={element.content.maxRateDescription}
        ></input>
      </div>
      <div>
        <button
          //   type="button"
          name="rateValues"
Jiwon Yoon's avatar
Jiwon Yoon committed
81
          id={element._id}
Jiwon Yoon's avatar
QRating    
Jiwon Yoon committed
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
          className="border border-red-500 rounded mx-2 px-2"
          //   onClick={deleteValue}
        >
          삭제
        </button>
        <button className="border border-blue-500 rounded mx-2 px-2">
          추가
        </button>
      </div>
      <div className="flex w-full justify-end py-2">
        <button className="w-1/12">필수</button>
        <button className="w-1/12">옵션</button>
        <button className="w-1/12">삭제</button>
      </div>
    </div>
  );
};