Proyectos de Subversion LeadersLinked - Backend

Rev

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