Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 465 | Rev 467 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 465 Rev 466
Línea 1... Línea 1...
1
import React, { useState, useEffect } from "react";
1
import React, { useState, useEffect } from "react";
-
 
2
import InputMultiple from "./input-multiple/InputMultiple";
Línea 2... Línea 3...
2
 
3
 
Línea 3... Línea 4...
3
const Option = (props) => {
4
const Option = (props) => {
4
 
5
 
Línea 10... Línea 11...
10
 
11
 
11
    /**
12
    /**
12
     * Update question answer
13
     * Update question answer
13
     * @param {*} answer 
14
     * @param {*} answer 
14
     */
15
     */
15
    const handleAnswerSimple = (value) => {
16
    const handleAnswer = (value) => {
16
        setInput(value);
17
        setInput(value);
17
        question.answer = value;
18
        question.answer = value;
Línea 18... Línea -...
18
    }
-
 
19
 
-
 
20
    /**
-
 
21
     * Update question answer
-
 
22
     * @param {*} option
-
 
23
     */
-
 
24
    const handleAnswerMultiple = (option) => {
-
 
25
        console.log(option);
-
 
26
        question.answer.includes(option.slug_option) ?
-
 
27
            question.answer = removeOptionMultiple(question.answer, option.slug_option) :
-
 
28
            question.answer.push(option.slug_option);
-
 
29
        option.checked = true;
-
 
30
        console.log(option);
-
 
31
        setInput(question.answer);
-
 
32
    }
-
 
33
 
-
 
34
    /**
-
 
35
     * Delete existing option
-
 
36
     * @param {*} arr 
-
 
37
     * @param {*} item 
-
 
38
     * @returns 
-
 
Línea 39... Línea 19...
39
     */
19
    }
40
    const removeOptionMultiple = (arr, item) => arr.splice(arr.indexOf(item), 1);
20
 
41
 
21
 
42
    /**
22
    /**
Línea 54... Línea 34...
54
                    <div className="checkbox"
34
                    <div className="checkbox"
55
                        key={key}>
35
                        key={key}>
Línea 56... Línea 36...
56
 
36
 
Línea 57... Línea 37...
57
                        {question.type == 'multiple' &&
37
                        {question.type == 'multiple' &&
58
 
38
 
59
                            <input
-
 
60
                                type="checkbox"
39
                            <InputMultiple
61
                                name={`${opt.slug_option}[]`}
-
 
62
                                value={opt.slug_option}
-
 
63
                                checked={opt.checked}
-
 
64
                                onChange={() => handleAnswerMultiple(opt)}
40
                                option={opt}
65
                            />
41
                                question={question} />
66
                        }
42
                        }
67
                        {question.type != 'multiple' &&
43
                        {question.type != 'multiple' &&
68
                            <input
44
                            <input
69
                                type="radio"
45
                                type="radio"
70
                                name={`${opt.slug_question}`}
46
                                name={`${opt.slug_question}`}
71
                                value={opt.slug_option}
47
                                value={opt.slug_option}
72
                                checked={input == opt.slug_option}
48
                                checked={input == opt.slug_option}
73
                                onChange={() => handleAnswerSimple(opt.slug_option)}
49
                                onChange={() => handleAnswer(opt.slug_option)}
74
                            />
50
                            />
75
                        }
51
                        }
76
                        <div
52
                        <div