Proyectos de Subversion LeadersLinked - Backend

Rev

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