Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 359 | Rev 363 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
306 geraldo 1
import React from "react";
2
import Question from "../question/Question";
3
 
4
const Section = (props) => {
307 geraldo 5
 
357 geraldo 6
 
7
 
306 geraldo 8
    // get props
357 geraldo 9
    const { section, backendVars, handleAnswer, key } = props;
306 geraldo 10
 
360 geraldo 11
    /**
12
     * Check if there are questions to answer
13
     * @returns
14
     */
15
    const validateSection = () => {
16
        let formValid = true;
17
        section.questions.map((question) => {
18
            //Validate if the answer is empty
19
            if (!question.answer) {
20
                formValid = false;
21
            }
22
        })
23
        return formValid;
24
    }
357 geraldo 25
 
306 geraldo 26
    return (
312 geraldo 27
 
28
        <div className="panel-group">
29
            <div className="panel panel-default" id={`panel-${section.slug_section}`}>
30
                <div className="panel-heading">
31
                    <h4 className="panel-title">
32
                        <a
33
                            className="accordion-toggle"
34
                            data-toggle="collapse"
35
                            data-parent={`#panel-${section.slug_section}`}
36
                            aria-expanded="true"
37
                            href={`#${section.slug_section}`}>
38
                            {section.name}</a>
39
                    </h4>
40
                </div>
41
                <div id={section.slug_section} className="panel-collapse in collapse show">
42
                    <div className="panel-body">
43
                        <div
44
                            dangerouslySetInnerHTML={{ __html: section.text }}
45
                            className="description"
46
                        />
47
                        <div className="row">
357 geraldo 48
                            {section.questions.map((question, i) => {
332 geraldo 49
                                return <Question
50
                                    question={question}
357 geraldo 51
                                    key={i}
332 geraldo 52
                                    backendVars={backendVars}
342 geraldo 53
                                    handleAnswer={handleAnswer}
332 geraldo 54
                                />;
312 geraldo 55
                            })}
56
                        </div>
357 geraldo 57
                        <div className="row">
358 geraldo 58
                            <div className="col-md-12 text-right">
359 geraldo 59
                                <ul class="pager wizard">
60
                                    <li class="previous">
61
                                        <button
62
                                            type="button"
360 geraldo 63
                                            className="btn btn-secondary"
359 geraldo 64
                                            disabled={section.position == 0}
65
                                        >
66
                                            {backendVars.LBL_SELF_EVALUATION_TEST_FORM_PREVIOUS}
67
                                        </button>
68
                                    </li>
69
                                    <li class="next">
70
                                        <button
71
                                            type="button"
360 geraldo 72
                                            disabled={!validateSection}
73
                                            className="btn btn-secondary">
359 geraldo 74
                                            {backendVars.LBL_SELF_EVALUATION_TEST_FORM_NEXT}
75
                                        </button>
76
                                    </li>
77
                                </ul>
357 geraldo 78
                            </div>
79
                        </div>
312 geraldo 80
                    </div>
81
                </div>
306 geraldo 82
            </div>
83
        </div>
84
    )
85
}
86
 
87
export default Section;