Rev 285 | Rev 287 | 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 Spinner from "../../shared/loading-spinner/Spinner";
const SelfEvaluation = (props) => {
console.log(props.backendVars);
// get props
const { backendVars } = props;
/**
* Init States
*/
const [rows, setRows] = 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);
};
/**
* Search rows
* @param {*} e
*/
const handleSearch = async (e) => fetchData(e);
/**
* componentDidMount
*/
useEffect(() => {
fetchData();
}, []);
return (
<section className="companies-info">
<div className="container">
<div className="company-title">
<div className="section_admin_title_buttons">
<h1 className="title">
{backendVars.LBL_SELF_EVALUATION}
</h1>
</div>
</div>
<div className="company-title">
<div className="section_admin_title_buttons">
<div className="form-group">
<input
className="form-control"
type="text"
placeholder={backendVars.LBL_DATATABLE_SSEARCH}
onChange={e => handleSearch(e.target.value)}
/>
</div>
</div>
</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}
backendVars={backendVars} />
})}
</div>
)}
</div>
)}
</div>
</div>
</section>
);
};
export default SelfEvaluation;