Skip to content

v8.7

Compare
Choose a tag to compare
@JabX JabX released this 02 Feb 16:10
· 1212 commits to master since this release

Facettes multi-sélectionnables

La recherche supporte maintenant la multi-sélection de valeurs au niveau des facettes, si l'API serveur utilisée est compatible. Conformément à l'implémentation choisie, chaque facette doit être manuellement déclarée comme multi-sélectionnable dans la déclaration de facette côté serveur, et cette information doit être relayée au client via une nouvelle propriété isMultiSelectable attendue sur l'objet FacetOutput (à côté du code, label et values). Cela permet au composant d'adapter son affichage pour gérer la sélection multiple via des checkbox.

Attention breaking change, selectedFacets contient maintenant des listes de valeurs (string[]) au lieu d'une valeur simple, et ce changement est reflété dans l'objet QueryInput envoyé au serveur. On utilise des listes partout, y compris si la facette n'est pas multi-sélectionnable (pour garder une API homogène).

Masques de saisie

L'Input de react-toolbox a été surchargé dans focus4/components pour ajouter la gestion de masques de saisie, via la nouvelle prop mask. L'implémentation utilise inputmask-core et le contenu de la prop correspond aux options listées dans la doc.

Evolutions champs date et heure

Les InputDate et InputTime utilisent maintenant des masques de saisie pour la saisie manuelle des dates et heures. Le masque est déduit automatiquement depuis le format de date/heure demandé. Par conséquent, il n'est plus possible de préciser plusieurs inputFormat en entrée (ce qui ne sert de toute façon plus à rien si on a un masque 😄 ).

De plus, le calendrier/l'horloge s'affiche maintenant au dessus du champ s'il n'y a pas la place en dessous, et le horloge ne déconne plus si on scrolle pendant qu'elle est ouverte.

Autocomplete isQuickSearch

Un nouveau mode à été ajouté au composant d'Autocomplete pour gérer un mode "recherche rapide", dans le cas ou on ne veut pas le lier à un champ et que tout ce qu'on veut utiliser est l'évènement onChange. Dans ce nouveau mode, l'Autocomplete ignore la valeur qui lui est passée et vide le champ texte à la sélection de valeur.

La méthode focus() est maintenant exposée (accessible par ref) et est également appelée sur le onChange du mode "recherche rapide", pour pouvoir facilement sélectionner plusieurs valeurs.

Les libellés issue des keyResolver et querySearcher de l'Autocomplete est maintenant traduits.

L'Autocomplete encode maintenant bien les caractères spéciaux à l'appel du querySearcher.

Tooltip sur les labels

Il est maintenant possible d'afficher des tooltips au niveau des libellés (sur la droite). Deux props on été ajoutées sur fieldFor : showTooltip et comment, pour afficher la tooltip et renseigner son contenu.

Le champ comment a également été ajouté sur FieldEntry (à côté de isRequired, name...) pour permettre la génération du commentaire de la tooltip via le modèle, qui sera utilisé nativement par fieldFor si non reprécisé (comme tout le reste). C'est pour ça qu'on a séparé showTooltip et comment, puisqu'idéalement tous les commentaires seront renseignés.

notfoundHandler sur le routeur.

Dans la configuration du routeur, il est maintenant possible de préciser un handler personnalisé pour les routes non trouvées. Il s'exécute avant la redirection vers la page de 404 et peut retourner :

  • Une url (string), URL sur laquelle rediriger
  • true, pour ne rien faire et rester sur place.
  • undefined (ou rien), pour continuer sur la redirection d'erreur.