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).

70 lines (69 loc) 2.57 kB
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>; }