4.9.8 Options de représentation type enum
Les options de représentation indiquées dans la structure de la famille ne sont pas prises en compte dans les interfaces HTML5.
4.9.8.1 setDisplay
Cette option indique l'aspect du widget de choix d'énuméré.
Dcp\Ui\EnumRenderOptions setDisplay(string $display)
4.9.8.1.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.8.1.2 Paramètres
Les valeurs possible pour l'argument $display
sont :
-
list
(valeur par défaut) -
L'affichage de la sélection se présente sous forme d'une liste déroulante.
Cette liste n'est pas actualisée dynamiquement.
Si l'énuméré est déclaré multiple (option
multiple=yes
), cet affichage est similaire à celui deautoCompletion
.
Dans ce mode d'affichage, la liste des énumérés est récupérée une seule fois lors de l'initialisation de l'affichage de l'attribute. Le filtre est réalisé sur le client avec les données initiales.
autoCompletion
-
Une liste de suggestions est présentée lorsqu'on saisit des caractères.
Si
useSourceUri
esttrue
, le serveur est interrogé à chaque caractère tapé pour retourner le résultat filtré. Si les données de l'énuméré sont déjà présentes sur le client, le résultat est filtré par le client sur le titre des libellés. L'opérateur utilisé est "commence par".
Dans ce mode d'affichage, le filtre est réalisé sur le serveur après chaque modification du texte recherché.
vertical
-
L'affichage présente des boutons à cocher alignés verticalement, chaque choix s'affichant sur sa propre ligne.
Si l'énuméré est déclaré multiple (option
multiple=yes
), les boutons seront des checkbox ; dans le cas contraire, ce seront des boutons radio.Cet affichage ne convient que si le nombre de choix est limité.
horizontal
-
L'affichage présente des boutons à cocher alignés horizontalement.
Si l'énuméré est déclaré multiple (option
multiple=yes
), les boutons seront des checkbox ; dans le cas contraire, ce seront des boutons radio.
bool
-
Cet affichage présente un seul bouton à bascule (coché ou pas coché).
Cet affichage ne fonctionne que si le nombre d'éléments est de deux et seulement si l'énuméré n'est pas déclaré multiple (option
multiple=yes
).Lors de l'affichage du formulaire, si la valeur initiale est vide, alors elle est affectée à la première valeur des deux valeurs possibles de l'énuméré.
4.9.8.1.3 Cas particuliers
Aucun
4.9.8.1.4 Exemples
Affichage vertical :
$options->enum(My_family::my_choice)->setDisplay(\Dcp\Ui\EnumRenderOptions::verticalDisplay);
4.9.8.2 useSourceUri
Cette option indique que le widget interroge le serveur pour avoir les données de l'énumeré.
Il n'utilise pas les données de l'énuméré fournie par l'api REST de la structure de la famille.
Dcp\Ui\EnumRenderOptions useSourceUri(bool $useIt)
Important : Les données de l'énuméré sont fournis par l'api
"structure" sauf si l'option eformat=auto
est indiqué
comme option de l'attribut.
Le widget demande les informations de l'énuméré (via une requête au serveur) si
ces données ne sont par fournies par la structure de la famille au moment de
l'initialisation du widget même si useSourceUri
vaut false
.
Par contre, si useSourceUri
vaut true
, les données sont demandées
systématiquement au serveur.
En résumé, la requête serveur est envoyée dans les cas suivants :
Requête serveur | useSourceUri=false | useSourceUri=true |
---|---|---|
eformat != auto | Non | Oui |
eformat == auto | Oui | Oui |
Par défaut useSourceUri
est égal à false
et eformat
est égal à list
,
donc le serveur n'est pas interrogé par défaut pour connaître la liste des
élements de l'énuméré.
4.9.8.2.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.8.2.2 Paramètres
Le paramètre $useIt
indique si le serveur doit être interrogé.
4.9.8.2.3 Cas particuliers
4.9.8.2.4 Exemples
4.9.8.3 useFirstChoice
Cette option indique que le premier élément de la liste est sélectionné si la valeur est vide.
Dcp\Ui\EnumRenderOptions useFirstChoice(bool $useFirst)
4.9.8.3.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
- Utilisable uniquement si l'énuméré n'est pas déclaré multiple (option
multiple=yes
).
4.9.8.3.2 Cas particuliers
Si une valeur par défaut est définie, cette option est sans effet.
4.9.8.3.3 Exemples
4.9.8.4 useOtherChoice
Cette option permet de rajouter un champ "Autre", permettant à l'utilisateur de saisir une valeur différente de celles proposées.
Dcp\Ui\EnumRenderOptions useOtherChoice(bool $useIt)
4.9.8.4.1 Restrictions
- Utilisable pour les rendus de modification
- Non applicable si affichage de type "booléen"
4.9.8.4.2 Paramètres
Le paramètre $useIt
indique si le champ de saisi est visible.
4.9.8.4.3 Cas particuliers
4.9.8.4.4 Exemples
4.9.8.5 setPlaceHolder
Cette option indique un texte qui est placé dans le champ de saisie lorsque la valeur est vide pour préciser le rôle de ce champ.
Dcp\Ui\EnumRenderOptions setPlaceHolder(string $text)
4.9.8.5.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
- Utilisable uniquement si l'option setDisplay vaut :
list
ouautocompletion
4.9.8.5.2 Paramètres
L'argument $text
est un texte simple (pas de html) qui sera utilisé comme
placeholder du champ.
4.9.8.5.3 Cas particuliers
Aucun
4.9.8.5.4 Exemples
$options->enum(My_family::my_enum) ->setPlaceHolder("Select the good one");
4.9.8.6 setTranslations
En plus des labels communs à tous les types d'attributs, les labels sur le widget de choix de fichier peuvent être configurés.
Dcp\Ui\FileRenderOptions setTranslations(array $labels)
4.9.8.6.1 Restrictions
Aucune.
4.9.8.6.2 Paramètres
Les labels suivants sont utilisés en modification :
-
chooseMessage
: "Choisissez", - Message affiché si aucune valeur n'est sélectionnée
-
-
invalidEntry
: "Entrée invalide", - Message affiché si l'entrée sélectionnée ne fait pas partie de l'ensemble des valeurs possibles
-
-
invertSelection
: "Cliquer pour répondre "{{displayValue}}"", - Message tooltip affiché pour le type
bool
de l'option setDisplay.
Mot-clefs possibles : value, displayValue
-
-
selectMessage
: 'Sélectioner {{displayValue}}', - Message tooltip pour le type
horizontal
ouvertical
de l'option setDisplay
Mot-clefs possibles : value, displayValue
-
-
unselectMessage
: 'Désélectioner {{displayValue}}', - Message tooltip de déselection pour le type
horizontal
ouvertical
de l'option setDisplay si l'énuméré est multiple.
Mot-clefs possibles : value, displayValue
-
-
chooseAnotherChoice
: "Choisissez un autre choix", - Message "placeHolder" indiquant la saisie d'un autre choix (option useOtherChoice)
-
-
selectAnotherChoice
: "Valider cet autre choix", - Message du bouton de confirmation pour la saisie d'un autre choix
(option useOtherChoice) - Visible sur les types
autocompletion
etlist
de l'option setDisplay.
-
Le label suivant est utilisé en consultation :
-
displayOtherChoice
: "{{value}} (autre choix)" : Format d'affichage de autre choix en consultation (option useOtherChoice).
Mot-clefs possibles : value, displayValue
4.9.8.7 setOrderBy
Cette option indique l'ordre de tri des entrées de l'énuméré.
Dcp\Ui\EnumRenderOptions setOrderBy(string $orderBy)
4.9.8.7.1 Restrictions
- Cette option n'est prise en compte que lors de la modification.
Lors de la consultation, les éléments des énumérés multiples sont affichés dans l'ordre dans lequel ils ont été sélectionnés.
4.9.8.7.2 Paramètres
Les valeurs possible pour l'argument $orderBy
sont :
-
Dcp\Ui\EnumRenderOptions::orderByOrderOption
(default) - trie les énumérés par leur ordre inscrit dans la définition de l'énuméré.
Dcp\Ui\EnumRenderOptions::orderByKeyOption
- trie les énumérés par ordre alphabétique de leur clé
ce tri ne tient pas compte de la locale de l'utilisateur. C'est un tri alphabétique non naturel.
Dcp\Ui\EnumRenderOptions::orderByLabelOption
- trie les énumérés par ordre alphabétique de leur label.
ce tri tient compte de la locale de l'utilisateur.
4.9.8.7.3 Cas particuliers
Aucun
4.9.8.7.4 Exemples
$options->enum(My_family::my_enum) ->setOrderBy(Dcp\Ui\EnumRenderOptions::orderByLabelOption);