Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 637 | Ir a la última revisión | | 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";
301 geraldo 6
import Search from "../../shared/search/Search";
7
import Breadcrumbs from "../../shared/breadcrumbs/Breadcrumbs"
276 geraldo 8
 
3209 stevensc 9
const SelfEvaluation = ({ backendVars }) => {
283 geraldo 10
 
305 geraldo 11
    const [data, setData] = useState([]);
340 geraldo 12
    const [action, setAction] = useState();
301 geraldo 13
    const [test, setTest] = useState();
276 geraldo 14
    const [loading, setLoading] = useState(true);
15
 
282 geraldo 16
    const fetchData = async (searchParam = '') => {
17
        setLoading(true);
341 geraldo 18
        await axios.get(
340 geraldo 19
            "/profile/self-evaluation?search=" + searchParam)
285 geraldo 20
            .then((response) => {
21
                if (response.data.success) {
305 geraldo 22
                    setData(response.data.data);
285 geraldo 23
                }
24
            });
276 geraldo 25
        setLoading(false);
285 geraldo 26
    };
282 geraldo 27
 
301 geraldo 28
    const getTestByUrl = async (url) => {
341 geraldo 29
        await axios.get(url)
301 geraldo 30
            .then((response) => {
573 geraldo 31
                if (response.data.success) {
340 geraldo 32
                    setAction(url);
301 geraldo 33
                    setTest(response.data.data);
34
                }
35
            });
36
    };
285 geraldo 37
 
3209 stevensc 38
    const handleSearch = async (value) => fetchData(value);
282 geraldo 39
 
276 geraldo 40
    useEffect(() => {
282 geraldo 41
        fetchData();
340 geraldo 42
    }, [test]);
276 geraldo 43
 
635 steven 44
    return (
45
        <section className="companies-info">
3209 stevensc 46
            {
47
                !test ?
48
                    <div className="container">
49
                        <div className="row">
50
                            <Breadcrumbs title={backendVars.LBL_SELF_EVALUATION} />
51
                        </div>
52
                        <div className="row">
53
                            <Search handleSearch={handleSearch} backendVars={backendVars} />
54
                        </div>
55
                        <div className="row">
56
                            <List
57
                                data={data}
58
                                getTestByUrl={getTestByUrl}
59
                                backendVars={backendVars}
60
                                loading={loading}
61
                            />
62
                        </div>
63
                    </div>
64
                    :
65
                    <div className="container">
66
                        <Test
67
                            backendVars={backendVars}
68
                            loading={loading}
69
                            setTest={setTest}
70
                            test={test}
71
                            action={action}
72
                        />
73
                    </div>
74
            }
276 geraldo 75
        </section>
76
 
77
    );
78
};
79
 
3209 stevensc 80
export default React.memo(SelfEvaluation);