Proyectos de Subversion LeadersLinked - Backend

Rev

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