Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
4814 stevensc 1
import axios from 'axios'
5423 stevensc 2
import React, { useState } from 'react'
7427 stevensc 3
import DeleteModal from '../../../shared/DeleteModal';
5453 stevensc 4
import EditModal from './EditModal';
5423 stevensc 5
import TableContainer from './TableContainer';
4799 stevensc 6
 
5423 stevensc 7
const CompanySizesView = ({ urlsVar }) => {
4814 stevensc 8
 
5693 stevensc 9
    const { linkTable, addUrl, allowAdd, allowEdit, allowDelete } = urlsVar
4905 stevensc 10
    const [companyData, setCompanyData] = useState({});
5071 stevensc 11
    const [showModal, setShowModal] = useState(false);
5453 stevensc 12
    const [showDeleteModal, setShowDeleteModal] = useState(false);
5078 stevensc 13
    const [selectItem, setSelectItem] = useState(null);
5436 stevensc 14
    const [actionLink, setActionLink] = useState(addUrl);
5423 stevensc 15
    const headers = [
16
        { key: "name", label: "Nombre", isSorteable: true },
17
        { key: "minimum_no_of_employee", label: "Mínimo", isSorteable: true },
18
        { key: "maximum_no_of_employee", label: "Máximo", isSorteable: true },
19
        { key: "status", label: "Activo", isSorteable: false },
20
        { key: "actions", label: "Acciones", isSorteable: false }
21
    ]
5071 stevensc 22
 
5423 stevensc 23
    const getData = (search, start, length) => {
4881 stevensc 24
        axios.get(
25
            linkTable,
26
            {
27
                params: {
5225 stevensc 28
                    search: search,
5423 stevensc 29
                    start: start,
30
                    length: length
4881 stevensc 31
                }
32
            })
4841 stevensc 33
            .then(({ data }) => {
34
                if (data.success) {
35
                    setCompanyData(data.data)
4830 stevensc 36
 
4841 stevensc 37
                    return data.data
38
                }
39
            })
40
            .catch((err) => console.log(err))
4814 stevensc 41
    }
42
 
5071 stevensc 43
    const closeModal = () => {
44
        setShowModal(false)
5090 stevensc 45
        setSelectItem(null)
5437 stevensc 46
        setActionLink(addUrl)
5071 stevensc 47
    }
48
 
5453 stevensc 49
    const closeDeleteModal = () => {
50
        setShowDeleteModal(false)
51
        setActionLink(addUrl)
52
    }
53
 
5078 stevensc 54
    const editItem = (item) => {
55
        setSelectItem(item);
5100 stevensc 56
        setActionLink(item.actions.link_edit);
5078 stevensc 57
        setShowModal(true);
58
    }
59
 
5453 stevensc 60
    const deleteItem = (item) => {
61
        setActionLink(item.actions.link_delete);
62
        setShowDeleteModal(true);
63
    }
64
 
5078 stevensc 65
    const addItem = () => {
66
        setSelectItem(null);
5437 stevensc 67
        setActionLink(addUrl)
5078 stevensc 68
        setShowModal(true);
69
    }
70
 
4799 stevensc 71
    return (
5071 stevensc 72
        <>
73
            <section className="content">
74
                <section className="content-header">
75
                    <div className="container-fluid">
76
                        <div className="row mb-2">
77
                            <div className="col-sm-12">
5423 stevensc 78
                                <h1>Tamaños de empresa</h1>
5071 stevensc 79
                            </div>
4881 stevensc 80
                        </div>
81
                    </div>
5071 stevensc 82
                </section>
5423 stevensc 83
                <TableContainer
84
                    data={companyData}
85
                    getData={getData}
86
                    onEdit={editItem}
5453 stevensc 87
                    onDelete={deleteItem}
5423 stevensc 88
                    onAdd={addItem}
89
                    headers={headers}
5693 stevensc 90
                    allowAdd={allowAdd}
91
                    allowEdit={allowEdit}
92
                    allowDelete={allowDelete}
5423 stevensc 93
                />
4881 stevensc 94
            </section>
5072 stevensc 95
            <EditModal
5071 stevensc 96
                isOpen={showModal}
97
                title='Tamaños de empresas'
98
                closeModal={closeModal}
5437 stevensc 99
                isEdit={actionLink !== addUrl}
5078 stevensc 100
                url={actionLink}
101
                currentItem={selectItem}
5312 stevensc 102
                action={getData}
5071 stevensc 103
            />
5453 stevensc 104
            <DeleteModal
105
                isOpen={showDeleteModal}
106
                closeModal={closeDeleteModal}
107
                url={actionLink}
108
                action={getData}
109
            />
5071 stevensc 110
        </>
4799 stevensc 111
    )
112
}
113
 
114
export default CompanySizesView