@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).
70 lines (69 loc) • 2.57 kB
TypeScript
import { Signal } from '@angular/core';
import { Observable } from 'rxjs';
import { DsfrSortColumn, DsfrTableOptions, DsfrTableState } from '../table.model';
import * as i0 from "@angular/core";
/**
* Service pour la datatable
* Gestion du rafraichissement des données
*/
export declare class DsfrDataTableService {
/** @internal Etat du tableau (tri, page courante, page size) */
readonly tableState: Signal<DsfrTableState>;
/** Page courante */
private readonly _currentPage;
/** Tri courant */
private readonly _activeSort;
readonly activeSort: Signal<DsfrSortColumn | null>;
/** Nombre de lignes à afficher par page */
private readonly _rowsPerPage;
readonly rowsPerPage: Signal<number>;
/** Données de la table */
private readonly _dataSubject;
readonly data$: Observable<any[]>;
/** Options de la table */
private readonly _tableOptionsSubject;
readonly tableOptions$: Observable<DsfrTableOptions>;
/** Lignes sélectionnées */
private readonly _selectionSubject;
readonly selection$: Observable<any[]>;
constructor();
/**
* Mise à jour des données avec rafraichissement du tableau
* @param newData nouvelles données du tableau
* @returns void
*/
refreshData(newData: any[]): void;
/**
* Aller à une page donnée
* @param page
*/
goToPage(page: number): void;
updatePagination(rowsPerPage: number): void;
/**
* Trier la table
* @param sort DsfrSortColumn
*/
sortTable(sort: DsfrSortColumn): void;
/**
* Mise à jour de l'état d'affichage de la table (tri, page courante, nombre de lignes par page)
* @param state
*/
setState(state: DsfrTableState): void;
/**
* Met à jour une propriété spécifique de l'objet `tableOptions`.
* @param key Le nom de la propriété de l'interface `tableOptions` à mettre à jour.
* @param newValue La nouvelle valeur de la propriété spécifiée par `key`
* @returns void
*/
updateTableOptions(key: keyof DsfrTableOptions, newValue: any): void;
/**
* Sélectionner les lignes programmatiquement
* @param selectedRows la liste des identifiants des lignes qui seront sélectionnées
**/
setSelectedRows(selectedRows: any[]): void;
/** @internal */
setTableOptions(tableOptions: DsfrTableOptions): void;
private setData;
static ɵfac: i0.ɵɵFactoryDeclaration<DsfrDataTableService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DsfrDataTableService>;
}