Proyectos de Subversion LeadersLinked - Backend

Rev

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