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 de autoCompletion.

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.

Énuméré simple - mode list

Figure 31. Énuméré simple - mode list

Énuméré multiple - mode list

Figure 32. Énuméré multiple - mode list

autoCompletion

Une liste de suggestions est présentée lorsqu'on saisit des caractères.

Si useSourceUri est true, 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é.

Énuméré simple - mode autocomplétion

Figure 33. Énuméré simple - mode autocomplétion

Énuméré multiple - mode autocomplétion

Figure 34. Énuméré multiple - mode autocomplétion

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é.

Énuméré simple - mode vertical

Figure 35. Énuméré simple - mode vertical

Énuméré multiple - mode vertical

Figure 36. Énuméré multiple - mode vertical

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.

Énuméré simple - mode horizontal

Figure 37. Énuméré simple - mode horizontal

Énuméré multiple - mode horizontal

Figure 38. Énuméré multiple - mode horizontal

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é.

Énuméré premier choix - mode bool

Figure 39. Énuméré premier choix - mode bool

Énuméré second choix - mode bool

Figure 40. Énuméré second choix - mode bool

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 ou autocompletion

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 ou vertical de l'option setDisplay
    Mot-clefs possibles : value, displayValue
  • unselectMessage: 'Désélectioner {{displayValue}}',
    Message tooltip de déselection pour le type horizontal ou vertical 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 et list 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);
×