Rev 15519 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'
import axios from 'axios'
import EditModal from '../../groups-types/view/EditModal'
import DeleteModal from '../../../shared/DeleteModal'
import TableFilters from '../../../shared/table/TableFilters'
import Table from '../../../shared/table/Table'
const AptitudesView = ({ linkTable, addUrl, allowAdd, allowEdit, allowDelete }) => {
const [aptitudes, setAptitudes] = useState({})
const [selectItem, setSelectItem] = useState(null)
const [actionLink, setActionLink] = useState(addUrl)
const [showModal, setShowModal] = useState(false)
const [showDeleteModal, setShowDeleteModal] = useState(false)
const headers = [
{ key: 'name', label: 'Nombre', isSorteable: true },
{ key: 'status', label: 'Activo', isSorteable: false },
{ key: 'actions', label: 'Acciones', isSorteable: false }
]
const getData = (params) => {
axios.get(linkTable, { params: params })
.then(({ data: response }) => {
if (response.success) setAptitudes(response.data)
})
.catch((err) => console.log(err))
}
const closeDeleteModal = () => {
setShowDeleteModal(false)
}
const editItem = (item) => {
setSelectItem(item)
setActionLink(item.actions.link_edit)
setShowModal(true)
}
const deleteItem = (item) => {
setActionLink(item.actions.link_delete)
setShowDeleteModal(true)
}
const addItem = () => {
setActionLink(addUrl)
setShowModal(true)
}
return (
<>
<section className="content">
<section className="content-header">
<h1>Aptitudes</h1>
</section>
<section className="container-fluid">
<TableFilters data={aptitudes} getData={getData} onAdd={addItem} allowAdd={allowAdd}>
{aptitudes.items &&
function () {
return (
<Table
data={aptitudes.items}
onEdit={editItem}
onDelete={deleteItem}
headers={headers}
allowEdit={allowEdit}
allowDelete={allowDelete}
/>
)
}()}
</TableFilters>
</section>
</section>
<EditModal
title='Aptitudes'
isOpen={showModal}
url={actionLink}
currentItem={selectItem}
onComplete={() => getData()}
onClose={() => {
if (selectItem) setSelectItem(null)
closeModal()
}}
/>
<DeleteModal
isOpen={showDeleteModal}
closeModal={closeDeleteModal}
url={actionLink}
onComplete={getData}
/>
</>
)
}
export default AptitudesView