@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
TypeScript
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>;
}