Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 303 | Rev 305 | 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";
301 geraldo 4
import Search from "../../shared/search/Search";
5
import Breadcrumbs from "../../shared/breadcrumbs/Breadcrumbs"
276 geraldo 6
import Spinner from "../../shared/loading-spinner/Spinner";
7
 
8
const SelfEvaluation = (props) => {
283 geraldo 9
 
285 geraldo 10
 
282 geraldo 11
    // get props
12
    const { backendVars } = props;
285 geraldo 13
 
276 geraldo 14
    /**
15
     * Init States
16
     */
17
    const [rows, setRows] = useState([]);
301 geraldo 18
    const [test, setTest] = useState();
276 geraldo 19
    const [loading, setLoading] = useState(true);
20
 
21
    /**
22
     * Get All self evaluation tests
23
     */
282 geraldo 24
    const fetchData = async (searchParam = '') => {
25
 
26
        setLoading(true);
285 geraldo 27
        await axios
28
            .get(
29
                "/profile/self-evaluation?search=" + searchParam)
30
            .then((response) => {
31
                if (response.data.success) {
32
                    setRows(response.data.data);
33
                }
34
            });
276 geraldo 35
        setLoading(false);
285 geraldo 36
    };
282 geraldo 37
 
301 geraldo 38
    /**
39
     * get info test
40
     * @param {*} url
41
     */
42
    const getTestByUrl = async (url) => {
43
        setLoading(true);
44
        await axios
45
            .get(url)
46
            .then((response) => {
304 geraldo 47
                if (response.data.data) {
301 geraldo 48
                    console.log(response.data.data);
49
                    setTest(response.data.data);
50
                }
51
            });
52
        setLoading(false);
53
    };
285 geraldo 54
 
276 geraldo 55
    /**
282 geraldo 56
     * Search rows
57
     * @param {*} e
58
     */
59
    const handleSearch = async (e) => fetchData(e);
60
 
61
    /**
276 geraldo 62
     * componentDidMount
63
     */
64
    useEffect(() => {
282 geraldo 65
        fetchData();
276 geraldo 66
    }, []);
67
 
68
    return (
69
        <section className="companies-info">
301 geraldo 70
 
302 geraldo 71
            {!test ? (
301 geraldo 72
                <div className="container">
73
 
74
                    <div className="row">
75
                        <Breadcrumbs title={backendVars.LBL_SELF_EVALUATION} />
276 geraldo 76
                    </div>
77
 
301 geraldo 78
                    <div className="row">
79
                        <Search handleSearch={handleSearch} backendVars={backendVars} />
276 geraldo 80
                    </div>
81
 
301 geraldo 82
                    <div className="companies-list">
83
                        {loading ? (
84
                            <div className="row">
85
                                <Spinner />
86
                            </div>
87
                        ) : (
88
                            <div className="row">
89
                                {rows.length <= 0 ? (
90
                                    <div className="col-md-12 col-sm-12 col-xs-12 text-center">
91
                                        {backendVars.LBL_DATATABLE_SZERORECORDS}
92
                                    </div>
93
                                ) : (
94
                                    <div className="col-md-12 col-sm-12 col-xs-12">
95
                                        {rows.map((test, key) => {
96
                                            return <CardTest
97
                                                key={key}
98
                                                test={test}
99
                                                getTestByUrl={getTestByUrl}
100
                                                backendVars={backendVars} />
101
                                        })}
102
                                    </div>
103
                                )}
104
                            </div>
105
                        )}
106
 
107
                    </div>
108
 
109
                </div>) : (
110
 
111
                <div className="container">
276 geraldo 112
                    {loading ? (
113
                        <div className="row">
114
                            <Spinner />
115
                        </div>
116
                    ) : (
301 geraldo 117
                        <div>
303 geraldo 118
{test}
276 geraldo 119
                        </div>
120
                    )}
301 geraldo 121
                </div>
122
            )}
276 geraldo 123
 
124
        </section>
125
 
126
    );
127
};
128
 
129
export default SelfEvaluation;