Charger un questionnaire
Cette section illustre la manière dont l'information circule au sein de l'application. Pour cela, elle présente en détail ce qu'il se passe lorsqu'un utilisateur sélectionne un questionnaire.

Lorsqu'un utilisateur sélectionne un questionnaire au sein de la liste des questionnaires, le processus est composé de nombreuses étapes élémentaires, qui vont de l'envoi de la requête au service Web dédié à l'actualisation de l'interface. Globalement:
- L'application affiche le composant
QuestionnaireList. - L'utilisateur sélectionne un questionnaire dans la liste.
- La librairie de routage envoie l'utilisateur sur la page de modification de questionnaire
- Le hook d'effet du composant page-questionnaire.jsx se déclenche
- Le créateur d'actions
loadQuestionnaireest appelé. - L'action
LOAD_QUESTIONNAIRE_STARTest envoyée. - La fonction
loadQuestionnaireStartdu reducerquestionnaire-by-id.jsmet à jour la propriété loader avec la valeurtrue. - Un spinner s'affiche à l'écran pour indiquer le chargement des données du questionnaire.
- L'action
LOAD_QUESTIONNAIREest envoyée. Elle contient l'identifiant du questionnaire dans le payload. - La fonction getQuestionnaire est appelée. Le navigateur lance la requête et retourne une Promesse.
- La requête est réussie et la Promesse renvoie une représentation en
JSONdu questionnaire. - La suite de la promesse définie par le créateur d'actions est exécutée.
- Elle appelle la fonction questionnaireRemoteToStores et envoie l'action
LOAD_QUESTIONNAIRE_SUCCESSaccompagnée du résultat retourné par cette fonction. - L'action
LOAD_QUESTIONNAIRE_SUCCESSest traitée par de nombreux reducers pour mettre à jour l'état du questionnaire au moment du chargement : par exemple les entréesquestionnaireById,componentsByQuestionnaire,codeListByQuestionnaire, etc... - Lorsque le store est mis à jour le hook d'effet de page-questionnaire.jsx est relancé et les créateurs d'action de la forme
setActiveSomethingsont appelés. Ces actions sont interceptées par le reducer combiné app-state.js. L'état courant du questionnaire est mise à jour dans l'entréeappStatedu store. - L'interface est actualisée. Le contenu du questionnaire est désormais visible.
