Proyectos de Subversion LeadersLinked - Backend

Rev

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