Champs de sélection
Quatre types de champs permettent aux enregistrements de choisir parmi des options prédéfinies. Tous partagent les propriétés de base des champs.
| Type | Stocke |
|---|---|
checkbox |
Une valeur booléenne vrai/faux. |
single-select |
Une option choisie dans une liste prédéfinie. |
multi-select |
Plusieurs options choisies dans une liste prédéfinie. |
status |
Une option, nommée comme un état de workflow. |
Grammaire des options
single-select, multi-select et status partagent une même grammaire pour options. Chaque option est soit une simple chaîne, soit un objet — et les deux formes se mélangent librement dans une même liste.
| Forme | À utiliser lorsque |
|---|---|
Draft |
La valeur stockée sert aussi de libellé affiché, et aucune couleur n'est nécessaire. |
{ value, label?, color? } |
L'option a besoin d'un libellé, d'une clé de traduction, d'une couleur, ou de plusieurs à la fois. |
| Clé | Description |
|---|---|
value |
Obligatoire. La valeur stockée en base et imposée par la contrainte de colonne. Les valeurs doivent être uniques dans la liste des options. |
label |
Texte affiché, optionnel. Peut être une $t: clé de traduction. Vaut value par défaut. |
color |
Code hexadécimal #RRGGBB optionnel, peint comme fond de la puce de l'option. |
options:
- Draft # simple chaîne
- { value: review, label: En revue }
- { value: published, label: 'statusPublished', color: '#10B981' }Modifier le label ou la color d'une option ne réécrit jamais les données stockées : seule value est persistée.
Rendu de color
Une color déclarée est le fond de la puce de l'option, jamais la couleur de son texte. Sovrium dérive les deux compagnons que l'auteur n'a pas déclarés : un premier plan respectant le contraste WCAG AA (4,5:1) sur ce fond, et une bordure dans la même teinte pour qu'une puce claire reste délimitée sur une surface claire. Le code hexadécimal déclaré est rendu exactement tel quel — il n'est jamais écrêté ni rejeté au motif d'un contraste insuffisant — et comme la paire est dérivée, la puce se lit à l'identique en mode clair et en mode sombre.
Une option qui ne déclare aucune color conserve l'habillage neutre par défaut, inchangé. La couleur s'active option par option : une liste peut donc en peindre certaines et laisser les autres neutres.
La grammaire exclut le canal alpha. #RRGGBB uniquement — un #RRGGBBAA à 8 chiffres est rejeté. Un fond translucide se compose avec la surface située derrière lui, et un premier plan ne peut pas être dérivé d'une couleur encore inconnue.
checkbox
Champ booléen, généralement rendu sous forme de case à cocher. Il ne prend pas d'options.
| Propriété | Description |
|---|---|
default |
Valeur booléenne par défaut (true / false). |
- { id: 1, name: is_active, type: checkbox, required: true, default: false }single-select
Un choix unique dans une liste d'options déclarée.
| Propriété | Description |
|---|---|
options |
Les choix disponibles, dans la grammaire des options. Au moins un est requis. |
default |
Option sélectionnée par défaut (une chaîne correspondant à l'une des valeurs d'option). |
conditions |
Conditions comportementales optionnelles : [{ when: <option>, then: { …changements de propriétés } }] — applique des changements de propriétés (par ex. readOnly) lorsqu'une option spécifique est sélectionnée. |
- id: 2
name: category
type: single-select
options:
- { value: Electronics, color: '#3B82F6' }
- { value: Clothing, color: '#8B5CF6' }
- Food
default: Electronicsmulti-select
Plusieurs choix dans une liste d'options déclarée. Chaque option retenue peint sa propre puce : une même cellule peut donc afficher plusieurs couleurs.
| Propriété | Description |
|---|---|
options |
Les choix disponibles, dans la grammaire des options. Au moins un est requis. |
maxSelections |
Nombre maximal de choix (entier ≥ 1 ; ne peut dépasser options.length). |
default |
Sélections par défaut (un tableau de chaînes). |
- id: 3
name: tags
type: multi-select
options:
- { value: Urgent, color: '#EF4444' }
- { value: Important, color: '#F59E0B' }
- Review
maxSelections: 3status
Une option unique, nommée comme un état de workflow — le type de champ à privilégier lorsque la valeur pilote des colonnes Kanban ou des étapes de pipeline.
| Propriété | Description |
|---|---|
options |
Les états disponibles, dans la grammaire des options. Au moins un est requis. |
default |
Valeur de statut par défaut (une chaîne correspondant à l'une des valeurs d'option). |
- id: 4
name: status
type: status
options:
- { value: todo, label: À faire, color: '#94A3B8' }
- { value: in_progress, label: En cours, color: '#3B82F6' }
- { value: done, label: Terminé, color: '#10B981' }
default: todoChoisir parmi les trois. La couleur ne les distingue plus — les trois la portent. La distinction se fait sur la forme : multi-select lorsqu'un enregistrement retient plusieurs options à la fois, single-select lorsqu'il n'en retient qu'une, et status lorsque cette valeur unique est un état de workflow, ce qui se lit clairement dans le groupBy d'un tableau Kanban. conditions est la seule propriété propre à single-select.
Dernière mise à jour 11 août 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.