Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 475 Rev 476
Línea 7... Línea 7...
7
 
7
 
8
    //init states 
8
    //init states 
9
    const [success, setSuccess] = useState(false);
9
    const [success, setSuccess] = useState(false);
10
    const [error, setError] = useState(false);
10
    const [error, setError] = useState(false);
11
    const [draft, setDraft] = useState(false);
-
 
12
    const [answers, setAnswers] = useState(false);
11
    const [draft, setDraft] = useState(false);
Línea 13... Línea 12...
13
    const [page, setPage] = useState(0);
12
    const [page, setPage] = useState(0);
14
 
13
 
Línea 23... Línea 22...
23
 
22
 
24
        //set states
23
        //set states
25
        setDraft(false);
24
        setDraft(false);
26
        setSuccess(false);
25
        setSuccess(false);
27
        setError(false);
-
 
Línea 28... Línea 26...
28
        setAnswers(false);
26
        setError(false);
29
 
27
 
30
        // set form data
28
        // set form data
31
        const formData = new FormData();
29
        const formData = new FormData();
Línea 32... Línea 30...
32
        formData.append("content", JSON.stringify(test.content));
30
        formData.append("content", JSON.stringify(test.content));
33
        formData.append("status", validateForm() ? backendVars.STATUS_PENDING : backendVars.STATUS_DRAFT);
31
        formData.append("status", formCompleted() ? backendVars.STATUS_PENDING : backendVars.STATUS_DRAFT);
34
 
32
 
35
        // check if the form has at least one response
33
        // check if the form has at least one response
36
        answers ?
34
        leastOneAnswer() ?
37
            await axios.post(action, formData).then((response) =>
35
            await axios.post(action, formData).then((response) =>
Línea 38... Línea 36...
38
                response.data.success && validateForm() ?
36
                response.data.success && formCompleted() ?
39
                    setSuccess(true) :
37
                    setSuccess(true) :
Línea 46... Línea 44...
46
 
44
 
47
    /**
45
    /**
48
     * Check if there are questions to answer
46
     * Check if there are questions to answer
49
     * @returns 
47
     * @returns 
50
     */
48
     */
51
    const validateForm = () => {
49
    const formCompleted = () => {
52
        let formValid = true;
-
 
53
        setAnswers(false);
50
        let completed = true;
54
        test.content.map((section) => {
51
        test.content.map((section) => {
55
            section.questions.map((question) => {
52
            section.questions.map((question) => {
56
                //Validate if the answer is empty
53
                //Validate if the answer is empty
57
                !question.answer || question.answer.length == 0 ?
54
                if (question.answer || question.answer.length == 0) {
58
                    formValid = false :
55
                    completed = false;
-
 
56
                }
-
 
57
            });
-
 
58
        })
-
 
59
        return completed;
Línea -... Línea 60...
-
 
60
    }
-
 
61
 
-
 
62
 
-
 
63
    /**
-
 
64
     * Check if there is at least one answer
-
 
65
     * @returns 
-
 
66
     */
-
 
67
     const leastOneAnswer = () => {
-
 
68
        let answer = false;
-
 
69
        test.content.map((section) => {
-
 
70
            section.questions.map((question) => {
-
 
71
                //Validate if the answer is not empty
-
 
72
                if (question.answer) {
59
                    setAnswers(true)
73
                    answer = true;
60
 
74
                }
61
            })
75
            });
62
        })
76
        })
Línea 63... Línea 77...
63
        return formValid;
77
        return answer;
64
    }
78
    }