Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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