<tyro-ui-data-table>
Data Table
Table modulaire avec recherche, filtres par colonne, tri et pagination optionnels. Utilise la directive
[tyroCol] pour les templates de cellules personnalisés via ng-content. Aperçu - fonctionnalités complètes
[searchable] [filterable] [paginated] + cellules personnalisées
Nom | Email | Rôle | Statut |
|---|---|---|---|
| Maxime Tournier | maxime@tyrolium.fr | ||
| Alice Martin | alice@tyrolium.fr | ||
| Bob Dupont | bob@solidserv.fr | ||
| Chloé Bernard | chloe@influnias.fr | ||
| David Chen | david@tyrociel.fr |
12 résultats
Inputs
Propriété | Type | Défaut | Description |
|---|---|---|---|
[columns] | ITyroUiDataTableColumn[] | [] | Définition des colonnes (clé, label, largeur, tri, filtre…) |
[data] | unknown[] | [] | Données à afficher - accepte n'importe quel tableau d'objets |
[searchable] | boolean | false | Affiche une barre de recherche globale (filtre toutes les colonnes) |
[filterable] | boolean | false | Affiche des filtres individuels par colonne (nécessite filterable: true sur la colonne) |
[paginated] | boolean | false | Active la pagination avec navigation par pages |
[pageSize] | number | 10 | Nombre de lignes affichées par page (ignoré si [paginated]="false") |
Interface - ITyroUiDataTableColumn
Champ | Type | Description |
|---|---|---|
key | string | Clé correspondant à la propriété de l'objet de données |
label | string | En-tête de colonne (fr) |
labelEn? | string | En-tête de colonne (en) |
sortable? | boolean | Active le tri au clic sur l'en-tête |
filterable? | boolean | Inclut cette colonne dans le panneau de filtres individuels |
width? | string | Largeur fixe de la colonne (ex : "160px") |
align? | 'left' | 'center' | 'right' | Alignement du texte dans la colonne |
Cellules personnalisées - directive [tyroCol]
Ajoutez des <ng-template [tyroCol]="key" let-row> à l'intérieur du composant pour remplacer le rendu de n'importe quelle cellule. Accédez à la ligne complète via let-row, puis utilisez $any(row).property pour contourner le type unknown de TypeScript.
<tyro-ui-data-table [columns]="cols" [data]="users">
<ng-template tyroCol="status" let-row>
<tyro-ui-chip variant="success" size="sm">
{{ $any(row).status }}
</tyro-ui-chip>
</ng-template>
</tyro-ui-data-table>