Rev 7725 | Rev 11131 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'
import axios from "axios"
import DeleteModal from '../../shared/DeleteModal';
import TableFilters from "../components/TableFilters"
const JobsTableView = ({ backendVars }) => {
const { allowAdd, allowDelete, allowEdit, allowUsersWhoApplied, link_add, link_table, onEdit } = backendVars
const [companyData, setCompanyData] = useState({});
const [showModal, setShowModal] = useState(false);
const [showDeleteModal, setShowDeleteModal] = useState(false);
const [actionLink, setActionLink] = useState(link_add);
const headers = [
{ key: "last_date_of_application", label: "Último día de aplicación", isSorteable: true },
{ key: "title", label: "Título", isSorteable: true },
{ key: "details", label: "Detalles", isSorteable: true },
{ key: "actions", label: "Acciones", isSorteable: false }
]
const getData = (search, start, length) => {
axios.get(
link_table,
{
params: {
search: search,
start: start,
length: length
}
})
.then(({ data }) => {
if (data.success) {
setCompanyData(data.data)
return data.data
}
})
.catch((err) => console.log(err))
}
const closeModal = () => {
setShowModal(false)
setActionLink(link_add)
}
const closeDeleteModal = () => {
setShowDeleteModal(false)
setActionLink(link_add)
}
const deleteItem = (item) => {
setActionLink(item.actions.link_delete);
setShowDeleteModal(true);
}
const addItem = () => {
setActionLink(link_add)
setShowModal(true);
}
return (
<>
<section className="content-header">
<div className="container-fluid">
<div className="row mb-2">
<div className="col-sm-12">
<h1>Empleos</h1>
</div>
</div>
</div>
</section>
<TableFilters
data={companyData}
getData={getData}
onDelete={deleteItem}
onAdd={addItem}
onEdit={onEdit}
headers={headers}
allowAdd={allowAdd}
allowEdit={allowEdit}
allowDelete={allowDelete}
allowUsersWhoApplied={allowUsersWhoApplied}
/>
<DeleteModal
isOpen={showDeleteModal}
closeModal={closeDeleteModal}
url={actionLink}
action={getData}
/>
</>
)
}
export default JobsTableView