Skip to content
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

Refactor : Restore persisted page & iteration on forms #338

Open
wants to merge 7 commits into
base: v2-develop
Choose a base branch
from

Conversation

MickaelMenet
Copy link
Contributor

@MickaelMenet MickaelMenet commented Jul 19, 2023

No description provided.

@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@MickaelMenet MickaelMenet marked this pull request as ready for review July 25, 2023 11:38
@MickaelMenet
Copy link
Contributor Author

prerequisite: merge the gotopage signature modification in lunatic and integrate the correct version (actually 2.4.7 custom version)

@renaud23
Copy link
Contributor

Vous pourriez ajouter quelques commentaires pour expliquer l'objectif de la PR, please ?

@Grafikart
Copy link
Collaborator

Grafikart commented Jul 27, 2023

Problème

Lorsque l'utilisateur quitte le formulaire on veut sauvegarder l'état pour pouvoir le ramener à la même page lors de son retour. Cette MR corrige plusieurs problème

  • Lorsque la modale d'accueil était affichée on voyait derrière le formulaire affiché à l'étape précédente plutôt que la page d'accueil.
  • Le système ne persistait que le numéro de page (pas l'itération, car se basait sur "page" du pager)

Solution

Le composant utilisait un état pour suivre la page courante en essayant de se synchroniser avec la page courante de lunatic. L'objectif de la MR est de séparer la logique pour simplifier les choses. Un état permet de savoir ce que l'on doit afficher et possède 4 valeurs :

  • Page d'accueil
  • Formulaire lunatic
  • Page de validation
  • Page de fin

Cela simplifie aussi la couche de persistence car il suffit d'observer pageTag et ce nouvel état pour savoir si on doit lancer la persistence (plutôt que de rajouter la logique dans les fonctions de navigation). currentPage n'a plus besoin d'être un état et peut être dérivé de ce nouvel état et du pageTag.

Le formulaire Lunatic commence avec son initialPage à 1 (valeur par défaut) et un gotoPage n'est lancé que si l'utilisateur sélectionne l'option "Reprendre".

@Grafikart
Copy link
Collaborator

Grafikart commented Jul 27, 2023

@renaud23 J'ai ajouté des explications et modifié le titre pour plus de clarté. N'hésite pas si il manque des infos

@Grafikart Grafikart changed the title V2 go to page Refactor : Restore persisted page & iteration on forms Jul 27, 2023
@laurentC35 laurentC35 changed the base branch from v2-develop to v2-master October 17, 2023 14:09
@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 6 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@laurentC35 laurentC35 changed the base branch from v2-master to v2-develop October 17, 2023 14:54
@laurentC35
Copy link
Contributor

This feature needs lunatic version > 2.6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants