UNPKG

@edugouvfr/ngx-dsfr-ext

Version:

NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)

44 lines (43 loc) 1.57 kB
import { GridApi, IGetRowsParams, SortModelItem } from 'ag-grid-community'; import { Observable } from 'rxjs'; export declare enum DsfrGridModeConst { CLIENT = "client", SERVER = "server" } export type DsfrGridMode = `${DsfrGridModeConst}`; /** Données retournées par la grid */ export interface DsfrRemoteGridResult { data: any[]; totalRecords: number; } /** Mapper le modèle de l'API par rapport aux query params utilisés par la grid */ export interface DsfrGridParams { /** nombre de résultat à retourner (taille de la page) */ limit: number; /** Index du premier résultat à afficher */ offset: number; /** Tri */ sort?: SortModelItem[]; /** Filtres */ filters?: any[]; } /** Mapper les résultats de la grid par rapport au résultat retournés par l'API */ export interface DsfrGridResultModel { /** données */ data: string; /** total de résultats */ totalRecords: string; /** fonction de mapping optionnelle des données */ mappingFunction?: (e: any) => void; } /** * Datasource pour implémentation de la pagination coté backend de Ag-grid community * cf: https://medium.com/weekly-webtips/tech-building-reusable-server-side-pagination-for-ag-grid-in-angular-c8127e2da346 * et https://www.ag-grid.com/javascript-data-grid/infinite-scrolling/ * */ export declare abstract class EduRemoteAgGridApi { getDataError?: (err: any) => void; gridApi?: GridApi | undefined; prepareUpdateData: (params: IGetRowsParams) => void; result$: Observable<DsfrRemoteGridResult>; }