Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
5647 stevensc 1
import React, { useState } from 'react'
11272 stevensc 2
import axios from 'axios'
3
import EditModal from './EditModal'
5647 stevensc 4
import TableContainer from '../../company-sizes/view/TableContainer'
11272 stevensc 5
import DeleteModal from '../../../shared/DeleteModal'
5647 stevensc 6
 
7
const IndustriesView = ({ urlsVar }) => {
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: 'status', label: 'Activo', isSorteable: false },
18
		{ key: 'actions', label: 'Acciones', isSorteable: false }
19
	]
5647 stevensc 20
 
15465 stevensc 21
	const getData = (params = {}) => {
15473 stevensc 22
		axios.get(linkTable, { params: params })
23
			.then(({ data: response }) => {
24
				if (response.success) setCompanyData(response.data)
11272 stevensc 25
			})
26
			.catch((err) => console.log(err))
27
	}
5647 stevensc 28
 
11272 stevensc 29
	const closeModal = () => {
30
		setShowModal(false)
31
		setSelectItem(null)
32
		setActionLink(addUrl)
33
	}
5647 stevensc 34
 
11272 stevensc 35
	const closeDeleteModal = () => {
36
		setShowDeleteModal(false)
37
		setActionLink(addUrl)
38
	}
5647 stevensc 39
 
11272 stevensc 40
	const editItem = (item) => {
41
		setSelectItem(item)
42
		setActionLink(item.actions.link_edit)
43
		setShowModal(true)
44
	}
5647 stevensc 45
 
11272 stevensc 46
	const deleteItem = (item) => {
47
		setActionLink(item.actions.link_delete)
48
		setShowDeleteModal(true)
49
	}
5647 stevensc 50
 
11272 stevensc 51
	const addItem = () => {
52
		setSelectItem(null)
53
		setActionLink(addUrl)
54
		setShowModal(true)
55
	}
5647 stevensc 56
 
11272 stevensc 57
	return (
15469 stevensc 58
		<>
59
			<section className="content">
60
				<section className="content-header">
61
					<div className="container-fluid">
62
						<div className="row mb-2">
63
							<div className="col-sm-12">
64
								<h1>Industrias</h1>
65
							</div>
66
						</div>
11272 stevensc 67
					</div>
15469 stevensc 68
				</section>
15472 stevensc 69
				<TableContainer
70
					data={companyData}
71
					getData={getData}
72
					onEdit={editItem}
73
					onDelete={deleteItem}
74
					onAdd={addItem}
75
					headers={headers}
76
					allowAdd={allowAdd}
77
					allowEdit={allowEdit}
78
					allowDelete={allowDelete}
79
				/>
15469 stevensc 80
			</section>
15473 stevensc 81
			<EditModal
82
				isOpen={showModal}
83
				title='Industrias'
84
				closeModal={closeModal}
85
				isEdit={actionLink !== addUrl}
86
				url={actionLink}
87
				currentItem={selectItem}
88
				action={getData}
89
			/>
90
			<DeleteModal
91
				isOpen={showDeleteModal}
92
				closeModal={closeDeleteModal}
93
				url={actionLink}
94
				onComplete={getData}
95
			/>
15469 stevensc 96
		</>
11272 stevensc 97
	)
5647 stevensc 98
}
99
 
100
export default IndustriesView