Aller au contenu

rowClass

Des classes sur une ligne d’après ce qu’elle contient — une commande en retard, une ligne à vérifier — que votre CSS habille.

Type(c: RowClassContext<T>) => string | null | undefined
Par défautnon défini
Modifiable en direct (update())Oui
Angularl’entrée [rowClass]
<dz-grid>la propriété settings : el.settings = { rowClass: … }
Déclaré danspackages/dom/src/settings.ts

Une fonction qui reçoit { row, key, context, pinned } et rend des noms de classes séparés par des espaces, ou null pour aucune. Elles vont sur l’élément de la ligne, à côté du .dzg-row de la grille ; pinned vaut 'top' ou 'bottom' pour une ligne figée et manque dans le corps. context est le context de la grille.

La grille redemande quand une ligne est dessinée avec d’autres données : une autre ligne à la même place pendant le défilement, un changement de la ligne, des colonnes, de la langue, du contexte. Gardez la même fonction d’un update() à l’autre : une nouvelle — une flèche écrite dans un template — redessine toutes les lignes. Une classe nomme un aspect ; les couleurs restent des variables CSS, pour que le thème sombre et les couleurs forcées s’appliquent encore.

import { createGrid } from '@dzgrid/dom';
import { FR } from '@dzgrid/dom/locales/fr';
type Order = { id: string; client: string; daysLate: number };
createGrid<Order>(document.getElementById('commandes')!, {
rows: [{ id: 'o1', client: 'Moulin Bleu', daysLate: 3 }],
columns: [{ id: 'client', header: 'Client' }, { id: 'daysLate', header: 'Jours de retard', type: 'number' }],
getRowId: (o) => o.id,
messages: FR,
rowClass: ({ row }) => (row.daysLate > 0 ? 'late' : null),
});
/* La ligne et ses parties figées : chacune peint son propre fond. */
.dzg-row.late,
.dzg-row.late :is(.dzg-seg-start, .dzg-seg-end) {
background: color-mix(in srgb, var(--tz-warning) 14%, var(--tz-bg));
}