InseeFr / Pogues

Questionnaire designer
MIT License
20 stars 17 forks source link

Questionnaire composition - Import referenced questionnaires loops #616

Closed romaintailhurat closed 1 year ago

romaintailhurat commented 2 years ago

🇬🇧 As we import variables from a reference questionnaire into the host one, we would like to also import loops. A first crucial use case is the use of the inhabitants loop from the TCM mandatory sequence, used in other host questionnaire elements to iterate over.

🇫🇷 Lorsque l'on fait référence à un questionnaire dans Pogues, on souhaiterait importer aussi les boucles définies dans le questionnaire cible. Un exemple d'usage important est pour le module du TCM listant les membres des habitants, liste sur laquelle on voudrait ensuite pouvoir itérer.

ORogel commented 1 year ago

A priori du back-office

BulotF commented 1 year ago

Hypothèse : Les Components de type LOOP du questionnaire référencé sont bien récupérés, mais certains de leurs éléments ne sont pas rafraichis lorsque les objets qu'ils référencent changent d'identifiant. Principaux suspects : initialMember et finalMember (par contre, ceux des filtres le sont a priori) ; parent est aussi suspect, mais moins...

romaintailhurat commented 1 year ago

:gb: Loop from questionnaire are note available at the computed variable level

:fr: Il manque les boucles de référence au nvieau de la "Portée" d'une variable calculée

nsenave commented 1 year ago

@romaintailhurat Pas certain de comprendre le dernier commentaire, le back met bien à jour le "scope" des variables calculées & externes qui proviennent d'un questionnaire référencé, qui sont initialement de "scope" questionnaire (valeur = null), si le questionnaire référencé est dans une boucle dans le questionnaire hôte.

(Exemple : si une variable calculée qui provient d'un questionnaire référencé a déjà un "scope" car elle dans une boucle dans son questionnaire d'origine, son "scope" ne doit pas être modifié)

(Le code source dont je parle)

romaintailhurat commented 1 year ago

Le problème a été résolu depuis 😄