Aller au contenu

enumOptions

Les valeurs qu’une colonne enum peut contenir, avec les mots affichés pour elles.

Typereadonly EnumOption[]
Par défautnon défini
Modifiable en direct (update())Oui — en redonnant les colonnes (update({ columns }))
Déclaré danspackages/core/src/columns/defs.ts

Chaque option a une value (ce que contient la ligne), un label déjà traduit (ce qu’affiche la cellule ; la valeur elle-même sans lui) et des aliases (d’autres mots qu’une personne peut taper ou coller pour elle). Un texte tapé correspond à une valeur, un libellé ou un alias, quels que soient sa casse et ses accents.

La colonne trie par libellé (dans l’ordre de la liste avec codec). Une valeur absente de la liste est affichée telle quelle. Une colonne enum sans enumOptions (et sans codec) est refusée avec une erreur invalid-column. En édition, l’éditeur de liste (editors({ list: listEditor })) propose les options (edit.options peut les restreindre ligne par ligne).

import { createGrid } from '@dzgrid/dom';
import { FR } from '@dzgrid/dom/locales/fr';
type Task = { id: string; title: string; status: string };
createGrid<Task>(document.getElementById('taches')!, {
rows: [{ id: 't1', title: 'Huiler le portail', status: 'todo' }],
columns: [
{ id: 'title', header: 'Tâche' },
{
id: 'status',
header: 'État',
type: 'enum',
enumOptions: [
{ value: 'todo', label: 'À faire', aliases: ['ouvert'] },
{ value: 'done', label: 'Fait', aliases: ['fermé'] },
],
},
],
getRowId: (r) => r.id,
messages: FR,
});