-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre remplissage de champs depuis un serveur #949
Comments
Merci Jonathan pour cette synthèse. |
Nous devons déterminer le moment optimal pour envoyer la requête vers l'API. Qu'est-ce qui est souhaité ? Au changement de page, à la fin du remplissage de tous les champs ? Personnellement, je suis réticent à l'idée d'introduire un nouveau composant tel que Je préconise plutôt la dernière solution, qui consiste à ajouter une propriété Pour entamer le développement, il est essentiel de définir avec précision les besoins et de structurer le modèle pour cette nouvelle propriété. |
Hello, aujourd'hui vous n'aviez pas déjà ce fonctionnel qui existe dans le couple StromaeV3 (RP) + Lunatic 2.6 ? |
@laurentC35 : à clore ? à recetter ? |
@laurentC35 on fait du ménage. Est ce qu'on garde ? |
Issue migrée vers tuleap https://tuleap.insee.fr/plugins/tracker/?aid=10029 |
Problème
Dans le cadre de certaines enquêtes on aimerait pre-remplir les données du formulaire suite à la réponse à une question :
Pour obtenir les données entre les 2 pages une API serait contacté en POST avec la réponse à la question (ici l'id) et renverrai les données à injecter dans le formulaire (cette API serait public).
Il faudra déterminer si les données renvoyées par le serveur peuvent écraser des données existantes.
Solutions
On va ici explorer les différentes solutions envisageables dans l'objectif de faire un choix technique et aussi de receuillir des idées.
Côté orchestrateur
La première solution est de laisser cette tâche à l'orchestrateur qui devra observer les variables qui changent et les changements de page et manuellement déclencher le
handleChange
lorsqu'il reçoit les données du serveur.Création d'un composant "RemoteComponent" avec enfant
On crée un composant particulier qui va être capable de récupérer les données et de conditionner l'affichage de composants enfant.
Dès que ce composant est monté il contacte le serveur (en envoyant les données correspondant à "responses") pour obtenir les données à hydrater. Une fois la réponse obtenue les données sont passée à Lunatic et les composants enfants sont affichées
Création d'un composant "RemoteComponent" sans enfant
Le principe est le même que précédemment sauf que ce composant se retrouverait sur une page vide et déclencherait la navigation vers la page suivante lorsque les données sont chargées.
Dès que ce composant est monté il contacte le serveur (en envoyant les données correspondant à "responses") pour obtenir les données à hydrater. Une fois la réponse obtenue les données sont passée à Lunatic et on navigue à la page suivante.
Le composant affiche un spinner pendant qu'il contacte le serveur.
Création d'une propriété "fillers"
Vu que la logique est annexe au formulaire on pourrait déplacer la logique dans une propriété dédiée (au même titre que "cleaning" ou "resizing".
On indiquerait ici à quel page le système de remplissage doit se déclencher, dès que l'utilisateur quitte cette page le serveur est contacté pour charger les données. Pendant ce chargement des données aucun composant n'est affiché côté Lunatic et on affiche un spinner.
The text was updated successfully, but these errors were encountered: