Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7427 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useState } from 'react'
import axios from 'axios'
import EditModal from '../../groups-types/view/EditModal'
import TableContainer from '../../company-sizes/view/TableContainer'
import DeleteModal from '../../../shared/DeleteModal'

const DegreesView = ({ urlsVar }) => {

        const { linkTable, addUrl, allowAdd, allowEdit, allowDelete } = urlsVar
        const [companyData, setCompanyData] = useState({})
        const [showModal, setShowModal] = useState(false)
        const [showDeleteModal, setShowDeleteModal] = useState(false)
        const [selectItem, setSelectItem] = useState(null)
        const [actionLink, setActionLink] = useState(addUrl)
        const headers = [
                { key: 'name', label: 'Nombre', isSorteable: true },
                { key: 'status', label: 'Activo', isSorteable: false },
                { key: 'actions', label: 'Acciones', isSorteable: false }
        ]

        const getData = (search, start, length) => {
                axios.get(
                        linkTable,
                        {
                                params: {
                                        search: search,
                                        start: start,
                                        length: length
                                }
                        })
                        .then(({ data }) => {
                                if (data.success) {
                                        setCompanyData(data.data)

                                        return data.data
                                }
                        })
                        .catch((err) => console.log(err))
        }

        const closeModal = () => {
                setShowModal(false)
                setSelectItem(null)
                setActionLink(addUrl)
        }

        const closeDeleteModal = () => {
                setShowDeleteModal(false)
                setActionLink(addUrl)
        }

        const editItem = (item) => {
                setSelectItem(item)
                setActionLink(item.actions.link_edit)
                setShowModal(true)
        }

        const deleteItem = (item) => {
                setActionLink(item.actions.link_delete)
                setShowDeleteModal(true)
        }

        const addItem = () => {
                setSelectItem(null)
                setActionLink(addUrl)
                setShowModal(true)
        }

        return (
                <>
                        <section className="content">
                                <section className="content-header">
                                        <div className="container-fluid">
                                                <div className="row mb-2">
                                                        <div className="col-sm-12">
                                                                <h1>Grados</h1>
                                                        </div>
                                                </div>
                                        </div>
                                </section>
                                <TableContainer
                                        data={companyData}
                                        getData={getData}
                                        onEdit={editItem}
                                        onDelete={deleteItem}
                                        onAdd={addItem}
                                        headers={headers}
                                        allowAdd={allowAdd}
                                        allowEdit={allowEdit}
                                        allowDelete={allowDelete}
                                />
                        </section>
                        <EditModal
                                isOpen={showModal}
                                title='Grados'
                                closeModal={closeModal}
                                isEdit={actionLink !== addUrl}
                                url={actionLink}
                                currentItem={selectItem}
                                action={getData}
                        />
                        <DeleteModal
                                isOpen={showDeleteModal}
                                closeModal={closeDeleteModal}
                                url={actionLink}
                                onComplete={getData}
                        />
                </>
        )
}

export default DegreesView