Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 276 | Rev 283 | 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';
3
import CardTest from "./card-test/CardTest";
4
import Spinner from "../../shared/loading-spinner/Spinner";
5
 
6
const SelfEvaluation = (props) => {
282 geraldo 7
 
8
    // get props
9
    const { backendVars } = props;
10
 
276 geraldo 11
    /**
12
     * Init States
13
     */
14
    const [rows, setRows] = useState([]);
15
    const [loading, setLoading] = useState(true);
16
 
17
    /**
18
     * Get All self evaluation tests
19
     */
282 geraldo 20
    const fetchData = async (searchParam = '') => {
21
 
22
        setLoading(true);
23
        const fecth = await axios.get(`/profile/self-evaluation?search=${searchParam}`);
276 geraldo 24
        if (fecth.data.data) {
25
            setRows(fecth.data.data)
26
        }
27
        setLoading(false);
28
    }
282 geraldo 29
 
276 geraldo 30
    /**
282 geraldo 31
     * Search rows
32
     * @param {*} e
33
     */
34
    const handleSearch = async (e) => fetchData(e);
35
 
36
    /**
276 geraldo 37
     * componentDidMount
38
     */
39
    useEffect(() => {
282 geraldo 40
        fetchData();
276 geraldo 41
    }, []);
42
 
43
    return (
44
        <section className="companies-info">
45
            <div className="container">
46
                <div className="company-title">
47
                    <div className="section_admin_title_buttons">
48
                        <h1 className="title">
282 geraldo 49
                            {backendVars.LBL_SELF_EVALUATION}
276 geraldo 50
                        </h1>
51
                    </div>
52
                </div>
53
 
54
                <div className="company-title">
55
                    <div className="section_admin_title_buttons">
56
                        <div className="form-group">
57
                            <input
58
                                className="form-group"
59
                                type="text"
282 geraldo 60
                                placeholder="{backendVars.LABEL_DATATABLE_SSEARCH}"
61
                                onChange={e => handleSearch(e.target.value)}
276 geraldo 62
                            />
63
                        </div>
64
                    </div>
65
                </div>
66
 
67
                <div className="companies-list">
68
                    {loading ? (
69
                        <div className="row">
70
                            <Spinner />
71
                        </div>
72
                    ) : (
73
                        <div className="row">
74
                            {rows.length <= 0 ? (
75
                                <div className="col-md-12 col-sm-12 col-xs-12">
282 geraldo 76
                                    {backendVars.LABEL_DATATABLE_SZERORECORDS}
276 geraldo 77
                                </div>
78
                            ) : (
79
                                <div className="col-md-12 col-sm-12 col-xs-12">
80
                                    {rows.map((test, key) => {
282 geraldo 81
                                        return <CardTest
82
                                            key={key}
83
                                            test={test}
84
                                            backendVars={backendVars} />
276 geraldo 85
                                    })}
86
                                </div>
87
                            )}
88
                        </div>
89
                    )}
90
 
91
                </div>
92
            </div>
93
        </section>
94
 
95
    );
96
};
97
 
98
export default SelfEvaluation;