Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
276 geraldo 1
import React, { useEffect, useState } from "react";
2
import { axios } from '../../utils';
306 geraldo 3
import List from "./list/List";
4
import Test from "./test/Test";
301 geraldo 5
import Search from "../../shared/search/Search";
6
import Breadcrumbs from "../../shared/breadcrumbs/Breadcrumbs"
276 geraldo 7
 
8
const SelfEvaluation = (props) => {
283 geraldo 9
 
285 geraldo 10
 
282 geraldo 11
    // get props
12
    const { backendVars } = props;
285 geraldo 13
 
276 geraldo 14
    /**
15
     * Init States
16
     */
305 geraldo 17
    const [data, setData] = useState([]);
301 geraldo 18
    const [test, setTest] = useState();
276 geraldo 19
    const [loading, setLoading] = useState(true);
20
 
21
    /**
22
     * Get All self evaluation tests
23
     */
282 geraldo 24
    const fetchData = async (searchParam = '') => {
25
 
26
        setLoading(true);
285 geraldo 27
        await axios
28
            .get(
29
                "/profile/self-evaluation?search=" + searchParam)
30
            .then((response) => {
31
                if (response.data.success) {
305 geraldo 32
                    setData(response.data.data);
285 geraldo 33
                }
34
            });
276 geraldo 35
        setLoading(false);
285 geraldo 36
    };
282 geraldo 37
 
301 geraldo 38
    /**
39
     * get info test
40
     * @param {*} url
41
     */
42
    const getTestByUrl = async (url) => {
43
        await axios
44
            .get(url)
45
            .then((response) => {
304 geraldo 46
                if (response.data.data) {
301 geraldo 47
                    setTest(response.data.data);
48
                }
49
            });
50
    };
285 geraldo 51
 
276 geraldo 52
    /**
305 geraldo 53
     * Search data
282 geraldo 54
     * @param {*} e
55
     */
56
    const handleSearch = async (e) => fetchData(e);
57
 
58
    /**
276 geraldo 59
     * componentDidMount
60
     */
61
    useEffect(() => {
282 geraldo 62
        fetchData();
276 geraldo 63
    }, []);
64
 
65
    return (
66
        <section className="companies-info">
302 geraldo 67
            {!test ? (
301 geraldo 68
                <div className="container">
69
                    <div className="row">
70
                        <Breadcrumbs title={backendVars.LBL_SELF_EVALUATION} />
276 geraldo 71
                    </div>
301 geraldo 72
                    <div className="row">
73
                        <Search handleSearch={handleSearch} backendVars={backendVars} />
276 geraldo 74
                    </div>
305 geraldo 75
                    <div className="row">
76
                        <List
77
                            data={data}
78
                            getTestByUrl={getTestByUrl}
79
                            backendVars={backendVars}
80
                            loading={loading}
81
                        />
301 geraldo 82
                    </div>
83
                </div>
305 geraldo 84
            ) : (
306 geraldo 85
                <div className="container">
86
                    <Test
87
                        backendVars={backendVars}
88
                        loading={loading}
89
                        setTest={setTest}
90
                        test={test} />
91
                </div>
301 geraldo 92
            )}
276 geraldo 93
        </section>
94
 
95
    );
96
};
97
 
98
export default SelfEvaluation;