Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 12375 Rev 12712
Línea 23... Línea 23...
23
	const { url } = useRouteMatch()
23
	const { url } = useRouteMatch()
24
	const dispatch = useDispatch()
24
	const dispatch = useDispatch()
25
	const [showDeleteModal, setShowDeleteModal] = useState(false)
25
	const [showDeleteModal, setShowDeleteModal] = useState(false)
26
	const [currentVacancy, setCurrentVacancy] = useState(vacancies[0].uuid || '')
26
	const [currentVacancy, setCurrentVacancy] = useState(vacancies[0].uuid || '')
27
	const [deleteLink, setDeleteLink] = useState('')
27
	const [deleteLink, setDeleteLink] = useState('')
-
 
28
	const [items, setItems] = useState([])
28
	const [data, setData] = useState({})
29
	const [total, setTotal] = useState(0)
29
	const [search, setSearch] = useState('')
30
	const [search, setSearch] = useState('')
30
	const [startItem, setStartItem] = useState(1)
31
	const [startItem, setStartItem] = useState(1)
31
	const [lastItem, setLastItem] = useState(10)
32
	const [lastItem, setLastItem] = useState(10)
32
	const [dataLength, setDataLength] = useState(10)
33
	const [dataLength, setDataLength] = useState(10)
33
	const points = {
34
	const points = {
Línea 51... Línea 52...
51
						style: 'danger',
52
						style: 'danger',
52
						msg: 'Ha ocurrido un error'
53
						msg: 'Ha ocurrido un error'
53
					}))
54
					}))
54
				}
55
				}
Línea -... Línea 56...
-
 
56
 
55
 
57
				setItems(data.data.items)
56
				setData(data.data)
58
				setTotal(data.data.total)
57
				setPages({ ...pages, last: Math.ceil(data.data.total / dataLength) })
59
				setPages({ ...pages, last: Math.ceil(data.data.total / dataLength) })
58
			})
60
			})
59
			.catch(() => dispatch(addNotification({
61
			.catch(() => dispatch(addNotification({
60
				style: 'danger',
62
				style: 'danger',
Línea 84... Línea 86...
84
			setStartItem(1)
86
			setStartItem(1)
85
		}
87
		}
86
	}, [pages.current])
88
	}, [pages.current])
Línea 87... Línea 89...
87
 
89
 
88
	useEffect(() => {
90
	useEffect(() => {
89
		if (data.items) {
91
		if (items) {
90
			if (startItem > 1) {
92
			if (startItem > 1) {
91
				setLastItem(startItem + (data.items.length - 1))
93
				setLastItem(startItem + (items.length - 1))
92
			} else {
94
			} else {
93
				setLastItem(data.items.length)
95
				setLastItem(items.length)
94
			}
96
			}
95
		}
97
		}
Línea 96... Línea 98...
96
	}, [data])
98
	}, [items])
97
 
99
 
98
	return (
100
	return (
99
		<>
101
		<>
Línea 154... Línea 156...
154
										<SearchInput onChange={(e) => setSearch(e.target.value)} />
156
										<SearchInput onChange={(e) => setSearch(e.target.value)} />
155
									</div>
157
									</div>
156
								</Card.Header>
158
								</Card.Header>
157
								<Card.Body>
159
								<Card.Body>
158
									<div className="table-responsive">
160
									<div className="table-responsive">
159
										<Table data={data.items} headers={headers} setData={setData}>
161
										<Table data={items} headers={headers} setData={setItems}>
160
											{
162
											{
161
												data.items?.map((item) => (
163
												items.map((item) => (
162
													<tr key={item.uuid}>
164
													<tr key={item.uuid}>
163
														<td>{`${item.first_name} ${item.last_name}`}</td>
165
														<td>{`${item.first_name} ${item.last_name}`}</td>
164
														<td>{item.email}</td>
166
														<td>{item.email}</td>
165
														<td>
167
														<td>
166
															{
168
															{
Línea 220... Línea 222...
220
											}
222
											}
221
										</Table>
223
										</Table>
222
									</div>
224
									</div>
223
									<div className='row justify-content-between align-items-center'>
225
									<div className='row justify-content-between align-items-center'>
224
										<p className='mb-0'>
226
										<p className='mb-0'>
225
											{`Mostrando registros del ${startItem} al ${lastItem} de un total de ${data.total} registros`}
227
											{`Mostrando registros del ${startItem} al ${lastItem} de un total de ${total} registros`}
226
										</p>
228
										</p>
227
										<TablePagination
229
										<TablePagination
228
											onDecrement={() => setPages({ ...pages, current: pages.current - 1 })}
230
											onDecrement={() => setPages({ ...pages, current: pages.current - 1 })}
229
											onIncrement={() => setPages({ ...pages, current: pages.current + 1 })}
231
											onIncrement={() => setPages({ ...pages, current: pages.current + 1 })}
230
											totalPages={pages.last}
232
											totalPages={pages.last}
Línea 240... Línea 242...
240
			<DeleteModal
242
			<DeleteModal
241
				url={deleteLink}
243
				url={deleteLink}
242
				isOpen={showDeleteModal}
244
				isOpen={showDeleteModal}
243
				closeModal={() => setShowDeleteModal(false)}
245
				closeModal={() => setShowDeleteModal(false)}
244
				title="Esta seguro de borrar esta entrevista?"
246
				title="Esta seguro de borrar esta entrevista?"
245
				onComplete={() => setData({ ...data, items: data.items.filter((item) => item.actions.link_delete !== deleteLink) })}
247
				onComplete={() => setItems(items.filter((item) => item.actions.link_delete !== deleteLink))}
246
				message="Entrevista eliminada"
248
				message="Entrevista eliminada"
247
			/>
249
			/>
248
		</>
250
		</>
249
	)
251
	)
250
}
252
}