Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11272 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11272 Rev 15521
Línea 1... Línea 1...
1
import React, { useState } from 'react'
1
import React, { useState } from 'react'
2
import axios from 'axios'
2
import axios from 'axios'
3
import EditModal from '../../groups-types/view/EditModal'
3
import EditModal from '../../groups-types/view/EditModal'
4
import TableContainer from '../../company-sizes/view/TableContainer'
-
 
5
import DeleteModal from '../../../shared/DeleteModal'
4
import DeleteModal from '../../../shared/DeleteModal'
-
 
5
import TableFilters from '../../../shared/table/TableFilters'
-
 
6
import Table from '../../../shared/table/Table'
Línea 6... Línea -...
6
 
-
 
7
const DegreesView = ({ urlsVar }) => {
-
 
8
 
7
 
9
	const { linkTable, addUrl, allowAdd, allowEdit, allowDelete } = urlsVar
8
const DegreesView = ({ linkTable, addUrl, allowAdd, allowEdit, allowDelete }) => {
10
	const [companyData, setCompanyData] = useState({})
-
 
11
	const [showModal, setShowModal] = useState(false)
-
 
12
	const [showDeleteModal, setShowDeleteModal] = useState(false)
9
	const [degrees, setDegrees] = useState({})
13
	const [selectItem, setSelectItem] = useState(null)
10
	const [selectItem, setSelectItem] = useState(null)
-
 
11
	const [actionLink, setActionLink] = useState(addUrl)
-
 
12
	const [showModal, setShowModal] = useState(false)
-
 
13
	const [showDeleteModal, setShowDeleteModal] = useState(false)
14
	const [actionLink, setActionLink] = useState(addUrl)
14
 
15
	const headers = [
15
	const headers = [
16
		{ key: 'name', label: 'Nombre', isSorteable: true },
16
		{ key: 'name', label: 'Nombre', isSorteable: true },
17
		{ key: 'status', label: 'Activo', isSorteable: false },
17
		{ key: 'status', label: 'Activo', isSorteable: false },
18
		{ key: 'actions', label: 'Acciones', isSorteable: false }
18
		{ key: 'actions', label: 'Acciones', isSorteable: false }
Línea 19... Línea 19...
19
	]
19
	]
20
 
20
 
21
	const getData = (search, start, length) => {
21
	const getData = (params) => {
22
		axios.get(
-
 
23
			linkTable,
-
 
24
			{
-
 
25
				params: {
-
 
26
					search: search,
-
 
27
					start: start,
-
 
28
					length: length
-
 
29
				}
22
		axios
30
			})
23
			.get(linkTable,{params: params})
31
			.then(({ data }) => {
-
 
32
				if (data.success) {
-
 
33
					setCompanyData(data.data)
-
 
34
 
-
 
35
					return data.data
24
			.then(({ data }) => {
36
				}
25
				if (data.success) setDegrees(data.data)
37
			})
26
			})
Línea 38... Línea 27...
38
			.catch((err) => console.log(err))
27
			.catch((err) => console.log(err))
39
	}
28
	}
40
 
-
 
41
	const closeModal = () => {
-
 
42
		setShowModal(false)
29
 
Línea 43... Línea 30...
43
		setSelectItem(null)
30
	const closeModal = () => {
44
		setActionLink(addUrl)
31
		setShowModal(false)
45
	}
-
 
46
 
32
	}
Línea 47... Línea 33...
47
	const closeDeleteModal = () => {
33
 
48
		setShowDeleteModal(false)
34
	const closeDeleteModal = () => {
49
		setActionLink(addUrl)
35
		setShowDeleteModal(false)
Línea 59... Línea 45...
59
		setActionLink(item.actions.link_delete)
45
		setActionLink(item.actions.link_delete)
60
		setShowDeleteModal(true)
46
		setShowDeleteModal(true)
61
	}
47
	}
Línea 62... Línea 48...
62
 
48
 
63
	const addItem = () => {
-
 
64
		setSelectItem(null)
49
	const addItem = () => {
65
		setActionLink(addUrl)
50
		setActionLink(addUrl)
66
		setShowModal(true)
51
		setShowModal(true)
Línea 67... Línea 52...
67
	}
52
	}
68
 
53
 
69
	return (
54
	return (
70
		<>
55
		<>
-
 
56
			<section className="content">
-
 
57
				<section className="content-header">
71
			<section className="content">
58
					<h1>Grados</h1>
-
 
59
				</section>
-
 
60
				<section className="container-fluid">	
-
 
61
					<TableFilters data={degrees} getData={getData} onAdd={addItem} allowAdd={allowAdd}>
-
 
62
						{degrees.items && 
-
 
63
						function() {
72
				<section className="content-header">
64
							return (
-
 
65
								<Table
73
					<div className="container-fluid">
66
									data={degrees.items}
74
						<div className="row mb-2">
67
									onEdit={editItem}
-
 
68
									onDelete={deleteItem}
-
 
69
									headers={headers}
75
							<div className="col-sm-12">
70
									allowEdit={allowEdit}
76
								<h1>Grados</h1>
71
									allowDelete={allowDelete}
77
							</div>
72
								/>
-
 
73
							)
78
						</div>
74
						}()}
79
					</div>
-
 
80
				</section>
-
 
81
				<TableContainer
-
 
82
					data={companyData}
-
 
83
					getData={getData}
-
 
84
					onEdit={editItem}
-
 
85
					onDelete={deleteItem}
-
 
86
					onAdd={addItem}
-
 
87
					headers={headers}
-
 
88
					allowAdd={allowAdd}
-
 
89
					allowEdit={allowEdit}
-
 
90
					allowDelete={allowDelete}
75
					</TableFilters>
91
				/>
76
				</section>
92
			</section>
-
 
93
			<EditModal
77
			</section>
94
				isOpen={showModal}
78
			<EditModal
95
				title='Grados'
-
 
96
				closeModal={closeModal}
79
				title='Grados'
97
				isEdit={actionLink !== addUrl}
80
				isOpen={showModal}
98
				url={actionLink}
81
				url={actionLink}
-
 
82
				currentItem={selectItem}
-
 
83
				onComplete={()=> getData()}
-
 
84
				onClose={()=> {
-
 
85
					if(selectItem) setSelectItem(null)
99
				currentItem={selectItem}
86
					closeModal()
100
				action={getData}
87
				}}
101
			/>
88
			/>
102
			<DeleteModal
89
			<DeleteModal
103
				isOpen={showDeleteModal}
90
				isOpen={showDeleteModal}