Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
5674 stevensc 1
import React, { useState } from 'react'
2
import axios from 'axios';
3
import DeleteModal from '../../company-sizes/view/DeleteModal';
4
import EditModal from '../../groups-types/view/EditModal';
5
import TableContainer from '../../company-sizes/view/TableContainer'
6
 
7
const SkillsView = ({ urlsVar }) => {
8
 
9
    const { linkTable, addUrl } = urlsVar
10
    const [companyData, setCompanyData] = useState({});
11
    const [showModal, setShowModal] = useState(false);
12
    const [showDeleteModal, setShowDeleteModal] = useState(false);
13
    const [selectItem, setSelectItem] = useState(null);
14
    const [actionLink, setActionLink] = useState(addUrl);
15
    const headers = [
16
        { key: "name", label: "Nombre", isSorteable: true },
17
        { key: "status", label: "Activo", isSorteable: false },
18
        { key: "actions", label: "Acciones", isSorteable: false }
19
    ]
20
 
21
    const getData = (search, start, length) => {
22
        axios.get(
23
            linkTable,
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
        setSelectItem(null)
44
        setActionLink(addUrl)
45
    }
46
 
47
    const closeDeleteModal = () => {
48
        setShowDeleteModal(false)
49
        setActionLink(addUrl)
50
    }
51
 
52
    const editItem = (item) => {
53
        setSelectItem(item);
54
        setActionLink(item.actions.link_edit);
55
        setShowModal(true);
56
    }
57
 
58
    const deleteItem = (item) => {
59
        setActionLink(item.actions.link_delete);
60
        setShowDeleteModal(true);
61
    }
62
 
63
    const addItem = () => {
64
        setSelectItem(null);
65
        setActionLink(addUrl)
66
        setShowModal(true);
67
    }
68
 
69
    return (
70
        <>
71
            <section className="content">
72
                <section className="content-header">
73
                    <div className="container-fluid">
74
                        <div className="row mb-2">
75
                            <div className="col-sm-12">
5676 stevensc 76
                                <h1>Habilidades</h1>
5674 stevensc 77
                            </div>
78
                        </div>
79
                    </div>
80
                </section>
81
                <TableContainer
82
                    data={companyData}
83
                    getData={getData}
84
                    onEdit={editItem}
85
                    onDelete={deleteItem}
86
                    onAdd={addItem}
87
                    headers={headers}
88
                />
89
            </section>
90
            <EditModal
91
                isOpen={showModal}
5676 stevensc 92
                title='Habilidades'
5674 stevensc 93
                closeModal={closeModal}
94
                isEdit={actionLink !== addUrl}
95
                url={actionLink}
96
                currentItem={selectItem}
97
                action={getData}
98
            />
99
            <DeleteModal
100
                isOpen={showDeleteModal}
101
                closeModal={closeDeleteModal}
102
                url={actionLink}
103
                action={getData}
104
            />
105
        </>
106
    )
107
}
108
 
109
export default SkillsView