Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7774 | Rev 11131 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6788 stevensc 1
import React, { useState } from 'react'
11121 stevensc 2
import axios from 'axios'
3
import DeleteModal from '../../shared/DeleteModal'
4
import TableFilters from '../components/TableFilters'
6628 stevensc 5
 
6792 stevensc 6
const JobsTableView = ({ backendVars }) => {
6680 stevensc 7
 
11121 stevensc 8
	const { allowAdd, allowDelete, allowEdit, allowUsersWhoApplied, link_add, link_table, onEdit } = backendVars
9
	const [companyData, setCompanyData] = useState({})
10
	const [showModal, setShowModal] = useState(false)
11
	const [showDeleteModal, setShowDeleteModal] = useState(false)
12
	const [actionLink, setActionLink] = useState(link_add)
6791 stevensc 13
 
11121 stevensc 14
	const headers = [
15
		{ key: 'last_date_of_application', label: 'Último día de aplicación', isSorteable: true },
16
		{ key: 'title', label: 'Título', isSorteable: true },
17
		{ key: 'details', label: 'Detalles', isSorteable: true },
18
		{ key: 'actions', label: 'Acciones', isSorteable: false }
19
	]
6680 stevensc 20
 
11121 stevensc 21
	const getData = (search, start, length) => {
22
		axios.get(
23
			link_table,
24
			{
25
				params: {
26
					search: search,
27
					start: start,
28
					length: length
29
				}
30
			})
31
			.then(({ data }) => {
32
				if (data.success) {
33
					setCompanyData(data.data)
6680 stevensc 34
 
11121 stevensc 35
					return data.data
36
				}
37
			})
38
			.catch((err) => console.log(err))
39
	}
6680 stevensc 40
 
11121 stevensc 41
	const closeModal = () => {
42
		setShowModal(false)
43
		setActionLink(link_add)
44
	}
6680 stevensc 45
 
11121 stevensc 46
	const closeDeleteModal = () => {
47
		setShowDeleteModal(false)
48
		setActionLink(link_add)
49
	}
6680 stevensc 50
 
11121 stevensc 51
	const deleteItem = (item) => {
52
		setActionLink(item.actions.link_delete)
53
		setShowDeleteModal(true)
54
	}
6680 stevensc 55
 
11121 stevensc 56
	const addItem = () => {
57
		setActionLink(link_add)
58
		setShowModal(true)
59
	}
6680 stevensc 60
 
11121 stevensc 61
	return (
62
		<>
63
			<section className="content-header">
64
				<div className="container-fluid">
65
					<div className="row mb-2">
66
						<div className="col-sm-12">
67
							<h1>Empleos</h1>
68
						</div>
69
					</div>
70
				</div>
71
			</section>
72
			<TableFilters
73
				data={companyData}
74
				getData={getData}
75
				onDelete={deleteItem}
76
				onAdd={addItem}
77
				onEdit={onEdit}
78
				headers={headers}
79
				allowAdd={allowAdd}
80
				allowEdit={allowEdit}
81
				allowDelete={allowDelete}
82
				allowUsersWhoApplied={allowUsersWhoApplied}
83
			/>
84
			<DeleteModal
85
				isOpen={showDeleteModal}
86
				closeModal={closeDeleteModal}
87
				url={actionLink}
88
				action={getData}
89
			/>
90
		</>
91
	)
6628 stevensc 92
}
93
 
94
export default JobsTableView