Rev 302 | Rev 304 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect, useState } from "react";
import { axios } from '../../utils';
import CardTest from "./card-test/CardTest";
import Search from "../../shared/search/Search";
import Breadcrumbs from "../../shared/breadcrumbs/Breadcrumbs"
import Spinner from "../../shared/loading-spinner/Spinner";
const SelfEvaluation = (props) => {
// get props
const { backendVars } = props;
/**
* Init States
*/
const [rows, setRows] = useState([]);
const [test, setTest] = useState();
const [loading, setLoading] = useState(true);
/**
* Get All self evaluation tests
*/
const fetchData = async (searchParam = '') => {
setLoading(true);
await axios
.get(
"/profile/self-evaluation?search=" + searchParam)
.then((response) => {
if (response.data.success) {
setRows(response.data.data);
}
});
setLoading(false);
};
/**
* get info test
* @param {*} url
*/
const getTestByUrl = async (url) => {
setLoading(true);
await axios
.get(url)
.then((response) => {
if (response.data.success) {
console.log(response.data.data);
setTest(response.data.data);
}
});
setLoading(false);
};
/**
* Search rows
* @param {*} e
*/
const handleSearch = async (e) => fetchData(e);
/**
* componentDidMount
*/
useEffect(() => {
fetchData();
}, []);
return (
<section className="companies-info">
{!test ? (
<div className="container">
<div className="row">
<Breadcrumbs title={backendVars.LBL_SELF_EVALUATION} />
</div>
<div className="row">
<Search handleSearch={handleSearch} backendVars={backendVars} />
</div>
<div className="companies-list">
{loading ? (
<div className="row">
<Spinner />
</div>
) : (
<div className="row">
{rows.length <= 0 ? (
<div className="col-md-12 col-sm-12 col-xs-12 text-center">
{backendVars.LBL_DATATABLE_SZERORECORDS}
</div>
) : (
<div className="col-md-12 col-sm-12 col-xs-12">
{rows.map((test, key) => {
return <CardTest
key={key}
test={test}
getTestByUrl={getTestByUrl}
backendVars={backendVars} />
})}
</div>
)}
</div>
)}
</div>
</div>) : (
<div className="container">
{loading ? (
<div className="row">
<Spinner />
</div>
) : (
<div>
{test}
</div>
)}
</div>
)}
</section>
);
};
export default SelfEvaluation;