Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
6788 stevensc 1
import React, { useState } from 'react'
6790 stevensc 2
import axios from "axios"
6789 stevensc 3
import DeleteModal from '../../settings/company-sizes/view/DeleteModal';
6680 stevensc 4
import TableFilters from "../components/TableFilters"
6628 stevensc 5
 
6680 stevensc 6
const JobsTableView = ({ allowAdd, allowEdit, allowDelete, link_table, link_add }) => {
7
 
8
    const [companyData, setCompanyData] = useState({});
9
    const [showModal, setShowModal] = useState(false);
10
    const [showDeleteModal, setShowDeleteModal] = useState(false);
11
    const [actionLink, setActionLink] = useState(link_add);
12
    const headers = [
13
        { key: "last_date_of_application", label: "Último día de aplicación", isSorteable: true },
14
        { key: "title", label: "Título", isSorteable: true },
15
        { key: "details", label: "Detalles", isSorteable: true },
16
        { key: "actions", label: "Acciones", isSorteable: false }
17
    ]
18
 
19
    const getData = (search, start, length) => {
20
        axios.get(
21
            link_table,
22
            {
23
                params: {
24
                    search: search,
25
                    start: start,
26
                    length: length
27
                }
28
            })
29
            .then(({ data }) => {
30
                if (data.success) {
31
                    setCompanyData(data.data)
32
 
33
                    return data.data
34
                }
35
            })
36
            .catch((err) => console.log(err))
37
    }
38
 
39
    const closeModal = () => {
40
        setShowModal(false)
41
        setActionLink(link_add)
42
    }
43
 
44
    const closeDeleteModal = () => {
45
        setShowDeleteModal(false)
46
        setActionLink(link_add)
47
    }
48
 
49
    const deleteItem = (item) => {
50
        setActionLink(item.actions.link_delete);
51
        setShowDeleteModal(true);
52
    }
53
 
54
    const addItem = () => {
55
        setActionLink(link_add)
56
        setShowModal(true);
57
    }
58
 
6628 stevensc 59
    return (
60
        <>
61
            <section className="content-header">
62
                <div className="container-fluid">
63
                    <div className="row mb-2">
64
                        <div className="col-sm-12">
6680 stevensc 65
                            <h1>Empleos</h1>
6628 stevensc 66
                        </div>
67
                    </div>
68
                </div>
69
            </section>
6680 stevensc 70
            <TableFilters
71
                data={companyData}
72
                getData={getData}
73
                onDelete={deleteItem}
74
                onAdd={addItem}
75
                headers={headers}
76
                allowAdd={allowAdd}
77
                allowEdit={allowEdit}
78
                allowDelete={allowDelete}
79
            />
80
            <DeleteModal
81
                isOpen={showDeleteModal}
82
                closeModal={closeDeleteModal}
83
                url={actionLink}
84
                action={getData}
85
            />
6628 stevensc 86
        </>
87
    )
88
}
89
 
90
export default JobsTableView