UNPKG

@edugouvfr/ngx-dsfr

Version:

NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).

63 lines (62 loc) 3.17 kB
import { EventEmitter, Signal } from '@angular/core'; import { DsfrOption } from '../../../shared'; import { DsfrDataTableService } from '../service/datatable.service'; import { DsfrTablePaginationEvent, DsfrTableState } from '../table.model'; import * as i0 from "@angular/core"; /** * Classe abstraite gestion de la pagination du tableau * selon le nombre de lignes à afficher et nombre de pages */ export declare abstract class BasePaginatedTableComponent { /** Etat initial de la table à appliquer (tri, page et nombre de lignes affichées par page) */ initialState: DsfrTableState; /** Afficher la pagination */ pagination: boolean; /** Activer le mode serveur (pagination, tri et sélection côté serveur) */ serverSide: boolean; /** Choix de taille de page (par défaut 10, 20, 50, 100). Pas d'affichage du select si non défini */ rowsPerPageOptions: DsfrOption[]; /** Changement de pagination (page affichée ou taille de page) */ paginationChange: EventEmitter<DsfrTablePaginationEvent>; /** Etat modifié */ readonly stateChange: EventEmitter<DsfrTableState>; /** @internal Total résultats */ totalElements: import("@angular/core").WritableSignal<number>; /** @internal Total pages */ totalPage: Signal<number>; /** @internal lsite des éléments sélectionnables */ selectableRows: any[]; /**@internal Service datatable pour rafraichissement des données */ dataTableService: DsfrDataTableService; private _serverResultsLength; /** @internal */ get serverResultsLength(): number; /** Total du nombre de résultats (utilisé si serverSide) */ set serverResultsLength(value: number); /** Accès aux méthodes de rafraichissement de données du tableau */ getService(): DsfrDataTableService; /** * Changement du nombre de lignes affichés par page * calcul des pages et changement des lignes affichées * @internal */ onRowsPerPageChange(rowsPerPage: number): void; /** * Au changement de page * @param page numéro de page * @internal */ onPageSelect(page: number): void; /** Calcul du total de page selon le nombre total de résultats et le nombre de lignes affichées * @internal */ protected calculateTotalPage(): number; /** * Après changement de page * Mise a jour des données affichées selon l'offset et la taille de page * @internal * */ protected paginateData(rows: any, state: DsfrTableState): any[]; static ɵfac: i0.ɵɵFactoryDeclaration<BasePaginatedTableComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BasePaginatedTableComponent, "ng-component", never, { "initialState": { "alias": "initialState"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "serverSide": { "alias": "serverSide"; "required": false; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; }; "serverResultsLength": { "alias": "serverResultsLength"; "required": false; }; }, { "paginationChange": "paginationChange"; "stateChange": "stateChange"; }, never, never, false, never>; }