Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3209 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3209 stevensc 1
/* eslint-disable react/prop-types */
2
import React, { useEffect, useState } from "react";
276 geraldo 3
import { axios } from '../../utils';
306 geraldo 4
import List from "./list/List";
5
import Test from "./test/Test";
3226 stevensc 6
import SearchList from "../../components/SearchList";
276 geraldo 7
 
3209 stevensc 8
const SelfEvaluation = ({ backendVars }) => {
283 geraldo 9
 
305 geraldo 10
    const [data, setData] = useState([]);
340 geraldo 11
    const [action, setAction] = useState();
301 geraldo 12
    const [test, setTest] = useState();
276 geraldo 13
    const [loading, setLoading] = useState(true);
14
 
282 geraldo 15
    const fetchData = async (searchParam = '') => {
16
        setLoading(true);
341 geraldo 17
        await axios.get(
340 geraldo 18
            "/profile/self-evaluation?search=" + searchParam)
285 geraldo 19
            .then((response) => {
20
                if (response.data.success) {
305 geraldo 21
                    setData(response.data.data);
285 geraldo 22
                }
23
            });
276 geraldo 24
        setLoading(false);
285 geraldo 25
    };
282 geraldo 26
 
301 geraldo 27
    const getTestByUrl = async (url) => {
341 geraldo 28
        await axios.get(url)
301 geraldo 29
            .then((response) => {
573 geraldo 30
                if (response.data.success) {
340 geraldo 31
                    setAction(url);
301 geraldo 32
                    setTest(response.data.data);
33
                }
34
            });
35
    };
285 geraldo 36
 
3209 stevensc 37
    const handleSearch = async (value) => fetchData(value);
282 geraldo 38
 
276 geraldo 39
    useEffect(() => {
282 geraldo 40
        fetchData();
340 geraldo 41
    }, [test]);
276 geraldo 42
 
635 steven 43
    return (
44
        <section className="companies-info">
3209 stevensc 45
            {
46
                !test ?
47
                    <div className="container">
48
                        <div className="row">
3226 stevensc 49
                            <SearchList fetchCallback={handleSearch} title={backendVars.LBL_SELF_EVALUATION} />
3209 stevensc 50
                        </div>
51
                        <div className="row">
52
                            <List
53
                                data={data}
54
                                getTestByUrl={getTestByUrl}
55
                                backendVars={backendVars}
56
                                loading={loading}
57
                            />
58
                        </div>
59
                    </div>
60
                    :
61
                    <div className="container">
62
                        <Test
63
                            backendVars={backendVars}
64
                            loading={loading}
65
                            setTest={setTest}
66
                            test={test}
67
                            action={action}
68
                        />
69
                    </div>
70
            }
276 geraldo 71
        </section>
72
 
73
    );
74
};
75
 
3209 stevensc 76
export default React.memo(SelfEvaluation);