Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
4814 stevensc 1
import axios from 'axios'
5423 stevensc 2
import React, { useState } from 'react'
11272 stevensc 3
import DeleteModal from '../../../shared/DeleteModal'
4
import EditModal from './EditModal'
5
import TableContainer from './TableContainer'
4799 stevensc 6
 
5423 stevensc 7
const CompanySizesView = ({ urlsVar }) => {
4814 stevensc 8
 
11272 stevensc 9
	const { linkTable, addUrl, allowAdd, allowEdit, allowDelete } = urlsVar
10
	const [companyData, setCompanyData] = useState({})
11
	const [showModal, setShowModal] = useState(false)
12
	const [showDeleteModal, setShowDeleteModal] = useState(false)
13
	const [selectItem, setSelectItem] = useState(null)
14
	const [actionLink, setActionLink] = useState(addUrl)
15
	const headers = [
16
		{ key: 'name', label: 'Nombre', isSorteable: true },
17
		{ key: 'minimum_no_of_employee', label: 'Mínimo', isSorteable: true },
18
		{ key: 'maximum_no_of_employee', label: 'Máximo', isSorteable: true },
19
		{ key: 'status', label: 'Activo', isSorteable: false },
20
		{ key: 'actions', label: 'Acciones', isSorteable: false }
21
	]
5071 stevensc 22
 
11272 stevensc 23
	const getData = (search, start, length) => {
24
		axios.get(
25
			linkTable,
26
			{
27
				params: {
28
					search: search,
29
					start: start,
30
					length: length
31
				}
32
			})
33
			.then(({ data }) => {
34
				if (data.success) {
35
					setCompanyData(data.data)
4830 stevensc 36
 
11272 stevensc 37
					return data.data
38
				}
39
			})
40
			.catch((err) => console.log(err))
41
	}
4814 stevensc 42
 
11272 stevensc 43
	const closeModal = () => {
44
		setShowModal(false)
45
		setSelectItem(null)
46
		setActionLink(addUrl)
47
	}
5071 stevensc 48
 
11272 stevensc 49
	const closeDeleteModal = () => {
50
		setShowDeleteModal(false)
51
		setActionLink(addUrl)
52
	}
5453 stevensc 53
 
11272 stevensc 54
	const editItem = (item) => {
55
		setSelectItem(item)
56
		setActionLink(item.actions.link_edit)
57
		setShowModal(true)
58
	}
5078 stevensc 59
 
11272 stevensc 60
	const deleteItem = (item) => {
61
		setActionLink(item.actions.link_delete)
62
		setShowDeleteModal(true)
63
	}
5453 stevensc 64
 
11272 stevensc 65
	const addItem = () => {
66
		setSelectItem(null)
67
		setActionLink(addUrl)
68
		setShowModal(true)
69
	}
5078 stevensc 70
 
11272 stevensc 71
	return (
72
		<>
73
			<section className="content">
74
				<section className="content-header">
75
					<div className="container-fluid">
76
						<div className="row mb-2">
77
							<div className="col-sm-12">
78
								<h1>Tamaños de empresa</h1>
79
							</div>
80
						</div>
81
					</div>
82
				</section>
83
				<TableContainer
84
					data={companyData}
85
					getData={getData}
86
					onEdit={editItem}
87
					onDelete={deleteItem}
88
					onAdd={addItem}
89
					headers={headers}
90
					allowAdd={allowAdd}
91
					allowEdit={allowEdit}
92
					allowDelete={allowDelete}
93
				/>
94
			</section>
95
			<EditModal
96
				isOpen={showModal}
97
				title='Tamaños de empresas'
98
				closeModal={closeModal}
99
				isEdit={actionLink !== addUrl}
100
				url={actionLink}
101
				currentItem={selectItem}
102
				action={getData}
103
			/>
104
			<DeleteModal
105
				isOpen={showDeleteModal}
106
				closeModal={closeDeleteModal}
107
				url={actionLink}
108
				onComplete={getData}
109
			/>
110
		</>
111
	)
4799 stevensc 112
}
113
 
114
export default CompanySizesView