kea-react
Version:
Componentes comunes de react
59 lines (58 loc) • 2.5 kB
TypeScript
import { Key } from "./baseTypes";
export declare type ColumnMapping = Key[];
/**Representa el estado del grid */
export interface OrdenGrid {
columna: Key;
orden: "asc" | "desc";
}
/**Representa un filtro agregado por el usuario a una columna */
export interface FiltroColumna {
/**Datos del filtro */
datos: {} | undefined;
}
/**La clave del objeto indica la columna a la que esta aplicando el filtro, el valor son los datos del filtro */
export interface FiltroColumnaMap {
[key: string]: FiltroColumna;
}
/**Interfaz que representa por completo a todos los filtros del grid y al ordenamiento. Con este objeto y los items se pueden saber todos los items que estan visibles para grid */
export interface FiltroOrden {
/**Filtros por columna */
columna: FiltroColumnaMap;
/**Búsqueda de texto global */
busqueda: string;
/**Orden del grid */
orden?: OrdenGrid;
}
/**Paginacion */
export interface Paginacion {
/**Indice de la página seleccionada */
selectedPage: number;
/**Tamaño de la página seleccionada */
selectedPageSize: number;
}
export interface DrillDownColumn {
/**Clave de la columna de la cual se esta haciendo un drill down. Este indice debe de ser de las columnas originales, no de las columnas de drill down */
columna: Key;
/**Nombre de las propiedades que se debe de seguir */
path: (string | number)[];
}
export interface DrillDownMap {
[key: string]: DrillDownColumn;
}
/**Estado del grid */
export interface Grid2State {
/**Datos de filtrado y de ordenación */
filtroOrden: FiltroOrden;
/**Paginación */
paginacion: Paginacion;
/**Columnas extra agregadas a partir de drill downs */
drillDowns: DrillDownMap;
/**Indices de las columnas que se estan mostrando al usuario. El primer elemento de este arreglo representa la columna que se mostrará a la izquierda. */
mapping: ColumnMapping;
/**Indices de las columnas en orden de las que se van a exportar. */
export: ColumnMapping;
}
/**Obtiene los valores por default del grid state y filtra los nombres de las columnas que no existe, esto es por que como el grid state generalmente se almacena en los cookies, puede ser
* que nuevas versiones del sistema ya no tengan columnas que esten referenciadas en el mismo
*/
export declare function gridStateDefaultValues(value: Partial<Grid2State> | undefined, originalColumnKeys: Key[]): Grid2State;