Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 565 | Ir a la última revisión | | Ultima modificación | Ver Log |

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