Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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