kea-react
Version:
Componentes comunes de react
48 lines (47 loc) • 3.32 kB
TypeScript
/// <reference types="react" />
import React = require("react");
import { CellData, GridRow, GridRowExEx, GridColumn, GridColumnEx, OrdenGrid, FiltroColumna, DataTypes, filtroKind } from "./tipos";
/**Convierte a GridColumnEx */
export declare function toGridColumnEx(x: GridColumn): GridColumnEx;
/**Normaliza un GridRow a un GridRowExEx */
export declare function toGridRowExEx(x: GridRow): GridRowExEx;
/**Obtiene un arreglo que por cada columna, devuelve el tipo de dato que mas existe en esa columna */
export declare function obtenerTiposColumnas(data: GridRow[], columnCount: number): DataTypes[];
export declare function compare(a: any, b: any): 0 | 1 | -1;
/**Obtiene los datos que se deben de descargar en el CSV de un grid */
export declare function ObtenerDatosCsv(rows: GridRowExEx[], columns: GridColumnEx[]): (string | number | boolean | Date | null | undefined)[][];
/**Obtiene los datos de celda de un GridRow en cierta columna */
export declare function getRowCellDataAt(row: GridRow, index: number): CellData;
/**Obtiene los valroes unicos de una columna */
export declare function valoresUnicos(datos: GridRow[], columna: number): (string | number | boolean | Date | null | undefined)[];
export declare function aplicarFiltroBusqueda<T>(datos: T[], getKey: (item: T) => GridRow, filtro: string, columnCount: number): T[];
/**Aplica un filtro a la información */
export declare function aplicarFiltroColumna<T>(datos: T[], getKey: (item: T) => GridRow, filtro: FiltroColumna): T[];
/**Devuelve los datos en orden de los datos que se van a mostrar en un grid */
export declare function filtrarOrdenar(data: GridRow[], orden: OrdenGrid | undefined, filtros: FiltroColumna[], busqueda: string, columnCount: number): GridRow[];
/**
* Filtra una colección de elementos dado el filtro de un grid
* @param data
* @param getKey
* @param filtros
* @param busqueda
* @param columnCount
*/
export declare function filtrarItems<T>(data: T[], getKey: (item: T) => GridRow, filtros: FiltroColumna[], busqueda: string, columnCount: number): T[];
/**
* Obtiene el elemento tr que sera la cabecera de la tabla
* @param columnas Columnas del grid
* @param orden Estado del ordenamiento del grid
* @param tiposFiltros Tipos de los filtros por columna
* @param stateFiltros Estado actual de los filtros
* @param handleOnOrdenar Funcion que toma el indice de la columna y que se ejecuta cuando el usuario quiera ordenar por esa columna
* @param handleOnFiltrar Funcion que toma el indice de la columna y el tipo de filtro y quita o agrega el filtro para esa columna
*/
export declare function getGridHeader(columnas: GridColumnEx[], orden: OrdenGrid | undefined, tiposFiltros: (filtroKind | null)[], stateFiltros: FiltroColumna[], handleOnOrdenar: (index: number) => void, handleOnFiltrar: (index: number, tipoFiltro: filtroKind) => void): React.DetailedReactHTMLElement<{}, HTMLElement>;
/**
* Devuelve una función que dado el visualProps crea un tr del Grid
* @param row Fila
* @param visualProps Propiedades visuales de la fila
* @param key Key
*/
export declare function getGridRow(row: GridRow, key: string | number, visualPropsThunk: () => any): () => React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>;