|
@@ -28,29 +28,44 @@ function CheckboxexHeader(prop) {
|
28
|
28
|
|
29
|
29
|
function CheckboxesGroup(props) {
|
30
|
30
|
|
31
|
|
- const [checkA, setCheckA] = React.useState(0);
|
32
|
|
- const [checkB, setCheckB] = React.useState(0);
|
|
31
|
+ let { quiz, save, responses : resp, id:index} = props;
|
33
|
32
|
|
|
33
|
+ const [checkA, setCheckA] = React.useState( 0);
|
|
34
|
+ const [checkB, setCheckB] = React.useState(0);
|
34
|
35
|
|
35
|
36
|
const changeA = (event) => {
|
36
|
|
- let { id } = event.target
|
37
|
|
- if(parseInt( checkB ) !== parseInt(id) ){
|
|
37
|
+ let { id, checked } = event.target
|
|
38
|
+ if(parseInt( checkB ) !== parseInt(id) && checked ){
|
38
|
39
|
setCheckA(parseInt( id ))
|
|
40
|
+ let temp = {
|
|
41
|
+ [index]: {
|
|
42
|
+ A:id,
|
|
43
|
+ B: resp[id]?.B ? resp[id].B : 0
|
|
44
|
+ }
|
|
45
|
+ }
|
|
46
|
+ save(Object.assign(resp,temp))
|
39
|
47
|
}
|
40
|
48
|
};
|
41
|
49
|
|
42
|
50
|
const changeB = (event) => {
|
43
|
|
- let { id } = event.target
|
44
|
|
- if(parseInt( checkA ) !== parseInt( id )){
|
|
51
|
+ let { id, checked } = event.target
|
|
52
|
+ if(parseInt( checkA ) !== parseInt( id ) && checked){
|
45
|
53
|
setCheckB(parseInt( id ))
|
|
54
|
+ let temp = {
|
|
55
|
+ [index]: {
|
|
56
|
+ B:id,
|
|
57
|
+ A: resp[id]?.A ? resp[id].A : 0
|
|
58
|
+ }
|
|
59
|
+ }
|
|
60
|
+ save(Object.assign(resp,temp))
|
46
|
61
|
}
|
47
|
62
|
};
|
48
|
63
|
|
49
|
64
|
return (
|
50
|
65
|
<List sx={{ width: '100%', bgcolor: 'background.paper' }}>
|
51
|
66
|
|
52
|
|
- {props.quiz.map((value) => {
|
53
|
|
-
|
|
67
|
+ {quiz.map((value) => {
|
|
68
|
+ // console.log("QUIZ VALUE: ", value)
|
54
|
69
|
const labelId = `checkbox-list-label-${value.id}`;
|
55
|
70
|
|
56
|
71
|
return (
|
|
@@ -100,20 +115,23 @@ function CheckboxesGroup(props) {
|
100
|
115
|
);
|
101
|
116
|
}
|
102
|
117
|
|
103
|
|
-export function Question({quiz, index, current}) {
|
104
|
|
- let { instrucciondepregunta, respuestas,id} = quiz
|
|
118
|
+export function Question({quiz, index, current, save, responses}) {
|
|
119
|
+ let { instrucciondepregunta, respuestas,id } = quiz
|
105
|
120
|
let checked = index === current;
|
106
|
|
- // console.log("QUESTION INDEX: ",index)
|
107
|
|
- // console.log("Checked: ",checked)
|
108
|
121
|
return (
|
109
|
122
|
<Fade in={checked} unmountOnExit>
|
110
|
123
|
<Card className="question_form">
|
111
|
124
|
<CardContent>
|
112
|
125
|
<div variant="body2">
|
113
|
126
|
<List>
|
114
|
|
- <CheckboxexHeader group={id} title={instrucciondepregunta}/>
|
|
127
|
+ <CheckboxexHeader group={index + 1} title={instrucciondepregunta}/>
|
115
|
128
|
</List>
|
116
|
|
- <CheckboxesGroup quiz={respuestas} />
|
|
129
|
+ <CheckboxesGroup
|
|
130
|
+ id={id}
|
|
131
|
+ quiz={respuestas}
|
|
132
|
+ save={save}
|
|
133
|
+ responses={responses}
|
|
134
|
+ />
|
117
|
135
|
</div>
|
118
|
136
|
</CardContent>
|
119
|
137
|
</Card>
|