Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 4973 | Rev 5071 | 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'
4841 stevensc 2
import React, { useEffect, useState } from 'react'
4932 stevensc 3
import Table from './Table';
4799 stevensc 4
 
4827 stevensc 5
const CompanySizesView = ({ urlsVar }) => {
4814 stevensc 6
 
4841 stevensc 7
    const { linkTable, linkAdd, linkEdit, linkDelete } = urlsVar
4905 stevensc 8
    const [companyData, setCompanyData] = useState({});
4881 stevensc 9
    const [search, setSearch] = useState('');
10
    const [dataLength, setDataLength] = useState(10);
11
    const [page, setPage] = useState(1);
12
    const lengthValues = ["10", "25", "50", "100"]
4827 stevensc 13
 
4841 stevensc 14
    const getData = () => {
4881 stevensc 15
        axios.get(
16
            linkTable,
17
            {
18
                params: {
4999 stevensc 19
                    query: search,
4881 stevensc 20
                    page: page,
4904 stevensc 21
                    length: dataLength
4881 stevensc 22
                }
23
            })
4841 stevensc 24
            .then(({ data }) => {
25
                if (data.success) {
26
                    setCompanyData(data.data)
4830 stevensc 27
 
4841 stevensc 28
                    return data.data
29
                }
30
            })
31
            .catch((err) => console.log(err))
4814 stevensc 32
    }
33
 
4827 stevensc 34
    useEffect(() => {
4841 stevensc 35
        getData()
4881 stevensc 36
    }, [search, dataLength, page]);
4814 stevensc 37
 
4799 stevensc 38
    return (
4881 stevensc 39
        <section className="content">
40
            <section className="content-header">
41
                <div className="container-fluid">
42
                    <div className="row mb-2">
43
                        <div className="col-sm-12">
44
                            <h1>Tamaños de empresa</h1>
45
                        </div>
46
                    </div>
47
                </div>
48
            </section>
49
            <section className="content">
50
                <div className="container-fluid">
51
                    <div className="row">
52
                        <div className="col-12">
53
                            <div className="card">
54
                                <div className="card-body">
4895 stevensc 55
                                    <div className="dataTables_wrapper dt-bootstrap4 no-footer">
4881 stevensc 56
                                        <div className="row">
57
                                            <div className="col-sm-12 col-md-6">
58
                                                <div className="dataTables_length" id="gridTable_length">
59
                                                    <label>
60
                                                        Mostrar
61
                                                        <select
62
                                                            className="custom-select custom-select-sm form-control form-control-sm"
63
                                                            onChange={(e) => setDataLength(e.target.value)}
64
                                                        >
65
                                                            {
66
                                                                lengthValues.map((value, index) => (
67
                                                                    <option key={index} value={value}>{value}</option>
68
                                                                ))
69
                                                            }
70
                                                        </select>
71
                                                        registros
72
                                                    </label>
73
                                                </div>
74
                                            </div>
75
                                            <div className="col-sm-12 col-md-6">
4895 stevensc 76
                                                <div className="dataTables_filter">
4881 stevensc 77
                                                    <label>
78
                                                        Buscar
79
                                                        <input
80
                                                            type="search"
81
                                                            className="form-control form-control-sm" placeholder=""
82
                                                            onChange={(e) => setSearch(e.target.value)}
83
                                                        />
84
                                                    </label>
85
                                                </div>
86
                                            </div>
87
                                        </div>
4905 stevensc 88
                                        <div className="row">
4891 stevensc 89
                                            <div className="col-sm-12">
4932 stevensc 90
                                                {
91
                                                    companyData.items
92
                                                    &&
93
                                                    <Table
94
                                                        data={companyData.items}
95
                                                    />
96
                                                }
4890 stevensc 97
                                            </div>
4905 stevensc 98
                                        </div>
4972 stevensc 99
                                        <div className="row">
100
                                            <div className="col-sm-12 col-md-5">
101
                                                <div className="dataTables_info" >
4973 stevensc 102
                                                    {`Mostrando registros del 1 al ${companyData.items?.length} de un total de ${companyData.total} registros`}
4972 stevensc 103
                                                </div>
104
                                            </div>
105
                                            <div className="col-sm-12 col-md-7">
106
                                                <div className="dataTables_paginate paging_simple_numbers" id="gridTable_paginate">
107
                                                    <ul className="pagination">
108
                                                        <li className="paginate_button page-item previous disabled">
109
                                                            <button
110
                                                                type='button'
111
                                                                className="page-link"
112
                                                                disabled={page === 1}
113
                                                            >
114
                                                                Anterior
115
                                                            </button>
116
                                                        </li>
117
                                                        <li className="paginate_button page-item active">
118
                                                            <button
119
                                                                className="page-link"
120
                                                            >
121
                                                                1
122
                                                            </button>
123
                                                        </li>
124
                                                        <li className="paginate_button page-item next disabled" id="gridTable_next">
125
                                                            <button
126
                                                                type='button'
127
                                                                className="page-link"
128
                                                                disabled
129
                                                            >
130
                                                                Siguiente
131
                                                            </button>
132
                                                        </li>
133
                                                    </ul>
134
                                                </div>
135
                                            </div>
136
                                        </div>
4881 stevensc 137
                                    </div>
138
                                </div>
4972 stevensc 139
                                <div className="card-footer clearfix">
140
                                    <div>
141
                                        <button
142
                                            type="button"
143
                                            className="btn btn-info btn-refresh">
144
                                            <i className="fa fa-refresh" />
145
                                            Recargar
146
                                        </button>
147
                                        <button
148
                                            type="button"
149
                                            className="btn btn-primary btn-add">
150
                                            <i className="fa fa-plus" />
151
                                            Agregar
152
                                        </button>
153
                                    </div>
154
                                </div>
4881 stevensc 155
                            </div>
156
                        </div>
157
                    </div>
158
                </div>
159
            </section>
160
        </section>
4799 stevensc 161
    )
162
}
163
 
164
export default CompanySizesView