Proyectos de Subversion LeadersLinked - Backend

Rev

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