UNPKG

table-pagination-chakra-ui

Version:
172 lines (126 loc) 4.93 kB
# chakra-ui-table-w-pagination-sort-search | Spanish Version Componente de tablas con paginación para Chakra-UI V2 ### [English README](readme_en.md) ![demo-dif](demo-gif.gif) - [chakra-ui-table-w-pagination-sort-search | Spanish Version](#chakra-ui-table-w-pagination-sort-search--spanish-version) - [English README](#english-readme) - [Comenzando](#comenzando) - [Instalación](#instalación) - [Props](#props) - [Importar y usar](#importar-y-usar) - [Ejemplo](#ejemplo) - [Demo](#demo) - [Contribuir](#contribuir) - [Contribuir](#contribuir-1) # Comenzando ## Instalación `npm install table-pagination-chakra-ui` [Módulo npm](https://www.npmjs.com/package/table-pagination-chakra-ui) ### Props `pageSize` : {Number} - Es la cantidad de ítems que se van a ver por página `setPageSize`: {Function} - Setter de pageSize `pageIndex`: {Number} - Es el índice en el cual nos encontramos dentro de la paginación de la tabla `setPageIndex`: {Function} - Setter de pageIndex `totalItemsCount`: {Number} - Es el largo del array de datos que se va a mostrar en la tabla `pageSizeOptions`: {Array.Number} - Son las opciones de cantidades de ítems que se pueden mostrar por página. - `Default = [10,25,50]` `colorScheme`: Color de la paginación - `Default = "teal"` `showOptions`: {Boolean} - Muestra las opciones - `Default = true` `labelOptions`: {String} - Etiqueta de opciones - `Default = "Ítems mostrados"` `showQuantity`: {Boolean} - Muestra cantidad - `Default = true` ### Importar y usar ```javascript import {PaginationTable} from "table-pagination-chakra-ui" const your_function = () => { return ( <> {/*tu código aquí*/} <PaginationTable pageSize={pageSize} setPageSize={setPageSize} pageIndex={pageIndex} setPageIndex={setPageIndex} totalItemsCount={data.length} pageSizeOptions={[10, 25, 50]} /> </> ) } ``` ## Ejemplo ```javascript import {PaginationTable} from "table-pagination-chakra-ui" import { Table, Thead, Tbody, Tr, Th, Td, TableContainer, } from "@chakra-ui/react"; const Table = () => { const [pageIndex, setPageIndex] = useState(0); const [pageSize, setPageSize] = useState(25); const [data, setData] = useState([]); const [loading, setLoading] = useState(false); return (<TableContainer> <Table variant="striped" size="sm"> <Thead> <Tr> <Th> Nombre <Th> Apellido </Th> </Tr> </Thead> <Tbody> {data .map((item) => { return ( <Tr key={item._id}> <Td>{item.firstName}</Td> <Td>{item.lastName}</Td> </Tr> ); }) .slice(pageSize * pageIndex, pageSize * (pageIndex + 1)) } </Tbody> </Table> <PaginationTable pageSize={pageSize} setPageSize={setPageSize} pageIndex={pageIndex} setPageIndex={setPageIndex} totalItemsCount={data.length} pageSizeOptions={[10, 25, 50]} /> </TableContainer>) } ``` ## Demo https://alepiumetti.github.io/chakra-ui-table-w-pagination-sort-search/ # Contribuir ## Contribuir ¡Damos la bienvenida a las contribuciones a este proyecto! Para comenzar, sigue estos pasos: 1. **Haz un fork del repositorio**: Haz clic en el botón "Fork" en la parte superior derecha de esta página para crear una copia de este repositorio en tu cuenta de GitHub. 2. **Clona tu fork**: Usa el siguiente comando para clonar tu repositorio bifurcado en tu máquina local. ```bash git clone https://github.com/tu-usuario/chakra-ui-table-w-pagination-sort-search.git ``` 3. **Crea una nueva rama**: Crea una nueva rama para tu característica o corrección de errores. ```bash git checkout -b mi-rama-de-característica ``` 4. **Haz tus cambios**: Implementa tu característica o corrige el error. 5. **Confirma tus cambios**: Confirma tus cambios con un mensaje descriptivo. ```bash git commit -m "Descripción de la característica o corrección" ``` 6. **Empuja a tu fork**: Empuja tus cambios a tu repositorio bifurcado. ```bash git push origin mi-rama-de-característica ``` 7. **Crea un pull request**: Ve al repositorio original y crea un pull request desde tu repositorio bifurcado. Proporciona una descripción clara de tus cambios y por qué deberían fusionarse. Revisaremos tu pull request y proporcionaremos comentarios. ¡Gracias por contribuir!